android - DatePickerDialog 显示前一年的一天
问题描述
我DatePickerDialog
的默认显示当前日期。每当在那个时间过去一年时,它DAY
都是自动选择的。有小伙伴遇到这个问题吗?任何帮助,将不胜感激。
public void datePicker(Context ctx,final CommonEditTextRegular editText) {
Calendar newCalendar = Calendar.getInstance();
DatePickerDialog fromDatePickerDialog = new DatePickerDialog(ctx, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
String myFormat = "dd-MM-yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
editText.setText(sdf.format(newDate.getTime()));
}
},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
fromDatePickerDialog.show();
fromDatePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis());
}
今天是 2019 年 5 月 9 日。当检查 2018 年时。2018 年 5 月 9 日自动选择。
解决方案
是的,这就是它的工作原理。这不是一个错误。日历是基于年份的日历。
当您更改年份时,会生成一个新的整年,因此会选择一个日期。默认情况下,与前一天/月相同。
推荐阅读
- java - hibernate - 多对一到同一实体列
- scala - 使用 IntelliJ IDEA 开发引擎的问题
- reactjs - React Redux Firebase 无法获取 firebase.storage
- c - 关于数组的困惑
- discord - 让 Discord Bot 检查它是否对自己的帖子做出反应
- r - 从 r 中的数据框(或矩阵)中查找前 n 个最大值
- loops - 带有用户输入的汇编程序 Intel x86 循环 n 次
- forms - 选择相同元素时Vue表单选择发出事件
- excel - 将值从 30 本书复制到一本书 - Excel VBA
- codenameone - Cloudinary 图像未显示在 IOS 调试版本上