MaterialTimePicker не срабатывает слушатель
Если после показа диалога изменить ориентацию устройства, то при нажатии на кнопку “OK” слушатель не вызывается. Хотя если нажать на нее после показа диалога без поворотов экрана, все работает. Как это исправить?
MaterialTimePicker timePicker = new MaterialTimePicker.Builder()
.setHour(MainActivity.notificationTimeHour)
.setMinute(MainActivity.notificationTimeMinutes).build();
timePicker.addOnPositiveButtonClickListener(dialog -> Log.i(S.LOG_TAG, "no"));
timePicker.show(getActivity().getSupportFragmentManager(), "");
Ответы (1 шт):
Автор решения: Hromlist
→ Ссылка
Пока что решил этот вопрос добавлением слушателя в диалог всякий раз после пересоздании фрагмента.
MaterialTimePicker timePicker = (MaterialTimePicker)
getParentFragmentManager().findFragmentByTag(S.TAG_DIALOG_TIME_PICKER);
if (timePicker != null) {
timePicker.clearOnPositiveButtonClickListeners(); // можно и не вызывать
timePicker.addOnPositiveButtonClickListener(v -> setNotificationTime(timePicker));
}