onDateSet никогда не вызывается, переопределяя кнопки в datepickerdialogs

#android #dialog #datepicker

#Android #диалоговое окно #datepicker

Вопрос:

Я хотел бы переопределить кнопки datepickerdialog

             case START_DATE_DIALOG_ID:
            DatePickerDialog datePicker = new DatePickerDialog(this, startDateSetListener, startYear, startMonth, startDay);
            datePicker.setTitle("Välj startdatum");

            datePicker.setButton(DatePickerDialog.BUTTON_POSITIVE, "Välj", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) 
                {
                }
            });
            datePicker.setButton(DatePickerDialog.BUTTON_NEGATIVE, "Avbryt", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) 
                {
                }
            });
            return datePicker;
  

Отчасти потому, что я хочу кое-что сделать, если диалоговое окно отменено, и отчасти потому, что я хочу, чтобы у кнопок всегда были названия на шведском языке.

Моя проблема в том, что onDateSet никогда не вызывается.

Ответ №1:

Напишите свой собственный диалог, который использует DatePicker виджет. Эти кнопки не предназначены для замены.

Комментарии:

1. Хорошо, спасибо. Есть ли какой-либо способ получить текущие значения из диалогового окна выбора даты?

2. @notBanana: Вызов getDatePicker() … если вы используете Honeycomb. В противном случае не существует документированного и поддерживаемого способа получения «текущих значений», отличного от того, когда пользователь принимает диалоговое окно. Опять же, если вам нужно поведение, отличное от того, что DatePickerDialog предлагается, напишите свой собственный диалог, в котором размещается DatePicker .