1. ホーム
  2. android

[解決済み] アンドロイドのdatepickerダイアログで最大の日付を設定するには?

2022-07-29 14:19:53

質問

私のアプリケーションでは、日付を設定するために日付ピッカーを使用しています。私は日付ピッカーの最大値を設定したいシステム日付によると、今日の日付としてです。

私の日付ピッカーのコーディングです。

private int pYear;
private int pMonth;
private int pDay;
static final int DATE_DIALOG_ID = 0;

final Calendar c = Calendar.getInstance();
pYear = c.get(Calendar.YEAR);
pMonth = c.get(Calendar.MONTH);
pDay = c.get(Calendar.DAY_OF_MONTH);

// Date picker
public Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:

        DatePickerDialog.OnDateSetListener pDateSetListener = new DatePickerDialog.OnDateSetListener() {

            public void onDateSet(DatePicker view, int year,
                    int monthOfYear, int dayOfMonth) {

                pYear = year;
                pMonth = monthOfYear;
                pDay = dayOfMonth;

                e_dob.setText(new StringBuilder()
                        // to set date in editext
                        .append(pDay).append("/").append(pMonth + 1)
                        .append("/").append(pYear).append(" "));
            }
        };
        return new DatePickerDialog(this, pDateSetListener, pYear, pMonth,
                pDay);

    }
    return null;
}

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

使用方法 setMaxDate() .

例えば return new DatePickerDialog(this, pDateSetListener, pYear, pMonth, pDay) の文をこのようなものに置き換えてください。

    DatePickerDialog dialog = new DatePickerDialog(this, pDateSetListener, pYear, pMonth, pDay);
    dialog.getDatePicker().setMaxDate(new Date().getTime());
    return dialog;