我正在使用DatePickerDialog,如下所示。 我想限制显示的日期,以便用户无法在今天之后选择日期,但可以选择过去的任何日期。我该怎么做?
final DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
mMissedStampDate = new DateTime().withDate(i, i1, i2);
textView.setText(mMissedStampDate.toString("yyyy-MM-dd"));
}
};
final DatePickerDialog datePickerDialog = new DatePickerDialog(mActivity, onDateSetListener, mMissedStampDate.getYear(), mMissedStampDate.getMonthOfYear(), mMissedStampDate.getDayOfMonth());
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerDialog.show();
}
});
答案 0 :(得分:1)
尝试
final DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
mMissedStampDate = new DateTime().withDate(i, i1, i2);
textView.setText(mMissedStampDate.toString("yyyy-MM-dd"));
}
};
final DatePickerDialog datePickerDialog = new DatePickerDialog(mActivity, onDateSetListener, mMissedStampDate.getYear(), mMissedStampDate.getMonthOfYear(), mMissedStampDate.getDayOfMonth());
datePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis());
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerDialog.show();
}
});
使用setMinDate& setMaxDate
官方文件: https://developer.android.com/reference/android/widget/DatePicker.html
答案 1 :(得分:1)
$or
答案 2 :(得分:1)
使用DatePickerDialog
方法从getDatePicker()
开始。将max date
设置为current date
setMaxDate()
。
mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());