我正在使用日期选择器,但每当我选择任何日期时,它都会显示 -1 个月。
例如 - 如果我选择 12/12/2016,它将显示在文本框中 12/11/2016
如果我选择 3/1/2017,它将显示 3/0/2017
这是我的日期选择器对话框的代码:
editStartDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar mcurrentDate = Calendar.getInstance();
int mYear = mcurrentDate.get(Calendar.YEAR);
int mMonth = mcurrentDate.get(Calendar.MONTH);
int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker = new DatePickerDialog(TourActivity.this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
Calendar newDate = Calendar.getInstance();
newDate.set(selectedyear, selectedmonth, selectedday);
editStartDate.setText(selectedday + "/" + selectedmonth + "/" + selectedyear);
}
}, mYear, mMonth, mDay);
mDatePicker.setTitle("Select date");
mDatePicker.show();
}
});
请建议我在哪里放置错误的代码。
在这种情况下,月份计数是从 0 开始的。因此您必须添加 1 才能显示。
editStartDate.setText(selectedday + "/" + (selectedmonth + 1) + "/" + selectedyear);
另请参阅此问题以供参考:为什么 Java 日历中的一月是 0?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)