我想把日期的限制,以便用戶不能選擇更多的日期,例如如果今天是1月1日,那麼用戶應該不能夠選擇更多然後7日,我的意思是他不能選擇1月9日。我也希望他不要選擇月份和年份。所以我在限制一個星期內完成他的任務。如何設置Date日期選擇器對話框中的日期限制
到目前爲止,我所做的是顯示日期選取器片段並在其中設置當前日期。在我的主要活動的代碼是這樣的:
etSelectDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment datePickerFragment = new DatePickerFragment() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
Log.d("Date Change", "onDateSet");
Calendar c = Calendar.getInstance();
c.set(year, month, day);
DateFormat df = DateFormat.getDateInstance();
etSelectDate.setText(df.format(c.getTime()));
//nextField.requestFocus(); //moves the focus to something else after dialog is closed
}
};
datePickerFragment.show(MainActivity.this.getSupportFragmentManager(), "datePicker");
}
});
和日期選擇器片段類是這樣的:
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
//blah
}
}
直到那時它工作正常,但我不知道如何把極限在日期和其他月份和年份應該是非選擇能夠。我看到很多鏈接,如this,但我不明白我該怎麼做,也沒有什麼有用的android網站。
所以,請幫助我,我怎樣才能把七天僅
限制更新
通過您的答覆,我知道如何設置壓延最大日期,所以當我想要在當前日期前7天設置最大日期,我仍然沒有得到它。我至今讀的方法是:
pickerDialog.getDatePicker().setMaxDate(new Date().getTime());
它設置爲當前日期爲最大,但我如何添加提前7天它,因爲它是Date對象?請幫助
你可以通過完整的線程在這裏:HTTP://stackoverflow.com/questions/18272306/set-limit-on-the-datepickerdialog -in-android – strike
檢查此https://stackoverflow.com/a/45671497/6478047 – Redman