DatePickerDialog
Android で日付範囲を選択するために使用しminDate
ていMaxDate
ますLolliPop (5+)
。しかし、以下の Lollipop で同じことを実行すると、例外がスローされます。
使用コード:
Calendar cal_currentDate=Calendar.getInstance();
cal_currentDate.set(cal_currentDate.get(Calendar.YEAR),cal_currentDate.get(Calendar.MONTH)+1,cal_currentDate.get(Calendar.DAY_OF_MONTH));
Calendar cal = Calendar.getInstance();
DatePickerDialog datepicker=new DatePickerDialog(getActivity(),new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {} },
cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH));
datepicker.show();
datepicker.getDatePicker().setMaxDate(cal.getTimeInMillis()); // here am setting Maximum date as current date
cal.add(Calendar.MONTH,-3); // here am setting Minimum date 3 months less than current date
datepicker.getDatePicker().setMinDate(cal.getTimeInMillis());
datepickerdialog.show();
結果: Android Lollipop で正常に動作します。他の下位バージョンで例外的にクラッシュする
ここに例外メッセージがあります
java.lang.IllegalArgumentException: Time not between Sat Mar 21 18:23:16 GMT+00:00 2015 and Tue Apr 21 18:23:16 GMT+00:00 2015
at android.widget.CalendarView.goTo(CalendarView.java:789)
at android.widget.CalendarView.setMinDate(CalendarView.java:478)
at android.widget.DatePicker.setMinDate(DatePicker.java:316)
at com.teledna.moby.ui.Fragment_homeMenu$16.onCheckedChanged(Fragment_homeMenu.java:1124
助けてください...