Если вы хотите, чтобы выполнить различные действия в зависимости от того, выбран ли пользователь дату или вы не можете использовать onDismiss обработчик. Обязательно установите логическое значение (например, «isDataSet»), чтобы указать, выбрал ли пользователь дату или нет. Вот пример:
// Date Picker Dialog
public void showDatePickerDialog(View view) {
int year, month, day;
isDataSet = false; // this is used by the onDismiss handler
// Set initial time period in DatePicker to current month
calendarCurrent = Calendar.getInstance();
month = calendarCurrent.get(Calendar.MONTH);
day = calendarCurrent.get(Calendar.DAY_OF_MONTH);
year = calendarCurrent.get(Calendar.YEAR);
DatePickerDialog datePickerDialog = new DatePickerDialog(YourActivity.this, dateSetListener, year, month, day);
datePickerDialog.setOnDismissListener(mOnDismissListener);
datePickerDialog.show();
datePickerDialog_visible=true; //indicate dialog is up
} // [END showDatePickerDialog]
//onDismiss handler
private DialogInterface.OnDismissListener mOnDismissListener =
new DialogInterface.OnDismissListener() {
public void onDismiss(DialogInterface dialog) {
datePickerDialog_visible=false; //indicate dialog is cancelled/gone
if (isDataSet) { // [IF date was picked
//do something, date now selected
} else {
//do someething else, dialog cancelled or exited
}
}
};
именно то, что я искал, я хотел установить onClick, интересно, что вам нужно переопределить кнопки по умолчанию – Blundell
get error: метод setButton (int, String, new DialogInterface.OnClickListener() {}) не определено для типа DatePickerActivity.DatePickerFragment –
Вот чего я хочу. Благодарю тебя. :) – Jigar