Android 在DatePicker中禁用刷到上一个月
在过去的一个月里,他们是否有办法禁用日期选择器 我发现了这个,然后。但它似乎不会禁用刷卡/返回到上个月Android 在DatePicker中禁用刷到上一个月,android,datepicker,android-datepicker,Android,Datepicker,Android Datepicker,在过去的一个月里,他们是否有办法禁用日期选择器 我发现了这个,然后。但它似乎不会禁用刷卡/返回到上个月 原因:在当前/未来设置任务 您可以创建自己的DatePickerDialog类。然后在调用datePicker时以毫电流形式传递必要的日期setMinDate()方法将禁用前几天,并且也将禁用刷卡 DatePickerDialog类: public class myDatePickerDialogFragment extends DialogFragment { int mDay,
原因:在当前/未来设置任务 您可以创建自己的DatePickerDialog类。然后在调用datePicker时以毫电流形式传递必要的日期
setMinDate()
方法将禁用前几天,并且也将禁用刷卡
DatePickerDialog类:
public class myDatePickerDialogFragment extends DialogFragment {
int mDay, mMonth, mYear;
long current;
// you also need to pass OnDateSetListener that is implemented in
// activity which is calling this datePicker
OnDateSetListener onSetDate;
public myDatePickerDialogFragment(){
}
@Override
public void setArguments(Bundle args) {
super.setArguments(args);
mDay = args.getInt("day");
mMonth = args.getInt("month");
mYear = args.getInt("year");
current = args.getLong("minDate");
}
public void setOnDateSetListener(OnDateSetListener setDate){
onSetDate = setDate;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), onSetDate, mYear, mMonth, mDay);
// here you set minimum day. User cannot chose earlier dates.
datePickerDialog.getDatePicker().setMinDate(current);
return datePickerDialog;
}
}
活动内部:
Bundle args = new Bundle();
args.putInt("day", mDay);
args.putInt("month", mMonth);
args.putInt("year", mYear);
args.putLong("minDate", yourCalendarObject.getTimeInMillis());
myDatePickerDialogFragment dialog = new myDatePickerDialogFragment();
dialog.setArguments(args);
dialog.setOnDateSetListener(datePickerListener);
dialog.show(getSupportFragmentManager(), "date");
OnDateSetListener:
DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// do other work after date is set here
}
};
@你试过我的解决方案吗?我的答案对你有帮助吗?如果是的话,考虑接受它。