这个问题已经在这里有了答案: > DatePicker shows wrong value of month 5个
我正在使用日期选择器,但是无论何时选择显示-1个月份的任何日期.
例如-如果我选择2016年12月12日,它将显示在文本框中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);
另请参阅此问题以供参考:Why is January month 0 in Java Calendar?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。