【发布时间】:2016-03-10 22:51:36
【问题描述】:
我正在尝试实现当用户单击文本框时弹出的 DatePickerDialog。设置日期后,我正在尝试将文本框的文本设置为日期的格式化版本 - 听起来很简单,是吗?
我收到一条错误消息,告诉我传递给 DatePickerDialog 的 onDateSet 事件处理程序的 DatePicker 对象的日历视图不存在!为什么会这样?我想不通。任何帮助将不胜感激。
仅供参考:我的目标是 API 23,最低 API 19,在 API 22 上运行它
这是我的 EditText 的 OnClickListener 的代码...
private class DateClickListener implements View.OnClickListener{
int mYear;
int mMonth;
int mDay;
public void formatDate(long selectedDate){
mDateText.setText(DateFormat.getDateInstance().format(selectedDate));
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//To show current date in the datepicker
Calendar mcurrentDate=Calendar.getInstance();
mYear=mcurrentDate.get(Calendar.YEAR);
mMonth=mcurrentDate.get(Calendar.MONTH);
mDay=mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker=new DatePickerDialog(CreateOuttingActivity.this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
formatDate(datepicker.getCalendarView().getDate());
}
},mYear, mMonth, mDay);
mDatePicker.setTitle("Select date");
mDatePicker.show();
}
}
这是确切的错误跟踪:
03-10 17:52:20.750 21766-21766/... E/AndroidRuntime: FATAL EXCEPTION: main
Process: ..., PID: 21766
java.lang.UnsupportedOperationException: CalendarView does not exists for the new DatePicker
at android.widget.DatePickerCalendarDelegate.getCalendarView(DatePickerCalendarDelegate.java:498)
at android.widget.DatePicker.getCalendarView(DatePicker.java:377)
at ...CreateActivity$DateClickListener$1.onDateSet(CreateActivity.java:70)
at android.app.DatePickerDialog.onClick(DatePickerDialog.java:134)
【问题讨论】:
标签: java android datepicker calendar date-format