1. ホーム
  2. android

[解決済み] Androidの日付ピッカーで過去の日付を無効にする方法は?

2023-04-06 08:13:27

質問

Android の日付ピッカーで過去の日付を無効にするにはどうすればよいですか?

以下は、私のDatePickerを生成するコードです。

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:
        // set date picker as current date
        return new DatePickerDialog(this, datePickerListener, year, month,
                day);
    }
    return null;
}

private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
    public void onDateSet(DatePicker view, int selectedYear,
            int selectedMonth, int selectedDay) {
        year = selectedYear;
        month = selectedMonth+1;
        day = selectedDay;

        startdate.setText(new StringBuilder().append(day).append("-")
                .append(getMonth(month + 1)).append("-").append(year)
                .append(" "));
    }
};

どのように解決するのですか?

あなたは、次のことができます。

datePicker.setMinDate(System.currentTimeMillis() - 1000);

で、今日の日付を最小の日付とし、過去の日付は全て無効とします。

datePicker のオブジェクトです。 DatePicker のオブジェクトを使用している場合 DatePickerDialog を使うことができます。

datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);

注意 setMinDate は API 11 で導入されました。