В чем разница между отклонением или отменой диалога в Android?

Как говорится в названии, в чем разница между отклонением или отменой диалога в Android?

Как правило, диалог отменяется, когда его работа завершена, и она удаляется с экрана. Диалог отменяется, когда пользователь хочет выйти из диалогового windows и нажимает кнопку «Назад».

Например, на экране есть стандартное диалоговое окно Да / Нет. Если пользователь нажимает «Нет», диалог отклоняется и значение «Нет» возвращается вызывающему. Если вместо выбора «Да» или «Нет» пользователь нажимает «Назад», чтобы выйти из диалогового windows, а не сделать выбор, диалог отменяется, и для вызывающего абонента не возвращается значение.

dismiss – это то, что вы должны явно вызвать в своем коде, обычно для ответа на событие click на кнопке в вашем Dialog . Если вы предпочитаете, вы можете вызвать dismissDialog в Activity , который, в свою очередь, вызовет dismiss в Dialog окне.

Метод cancel выполняется только в том случае, если он явно вызван в вашем коде, или когда пользователь нажимает кнопку BACK, когда открывается отмененный Dialog (как указано @Lee).

Если вы используете DatePicker , все это все равно. Как сказал @Lee, DatePickerDialog.OnDateSetListener просто определяет, когда пользователь выбрал дату из DatePicker .

Справочник разработчика Android содержит дополнительную информацию о Dialog s.

Dismiss Вызов увольнения удаляет диалог с экрана. Этот метод можно безопасно вызывать из любого streamа. Обратите внимание, что вы не должны переопределять этот метод для очистки, когда диалог отклоняется, вместо этого реализуйте это в onStop .

Cancel отмены отменяет диалог. Это по сути то же самое, что и вызов функции увольнения () , но он также вызывает ваш DialogInterface.OnCancelListener , если он зарегистрирован.

Hide Этот метод скрывает диалог, но не отклоняет его.

И более подробно здесь

  • Проблемы с ресурсами.openRawResource ()
  • Не нашел class «com.google.firebase.provider.FirebaseInitProvider»?
  • Изменение цвета слова в строке ресурса
  • Как добавить (вертикальный) разделитель в горизонтальный LinearLayout?
  • Поп-fragment backstack без воспроизведения Pop-Animation
  • Компилятор Lame MP3 Encoder для Android
  • Как работать с INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES без удаления
  • Как узнать, что карта готова к использованию при использовании SupportMapFragment?
  • Как разрешить пользователям проверять последнюю версию приложения внутри приложения?
  • Android Notification Sound
  • Карта Google для андроида
  • Interesting Posts

    Перенаправление из атрибута фильтра действия

    CLI на DalvikVM терпит неудачу в JNI lib

    Django Cookies, как я могу их установить?

    Виртуальная виртуальная машина импортирована VM – VERR_NOT_SUPPORTED – VERR_CFGM_VALUE_NOT_FOUND

    jqGrid: отключить поля формы при редактировании

    Как cd в каталог, содержащий пробел в его имени?

    Восстановить данные с диска, который был отформатирован на низком уровне

    Stringification – как это работает?

    Как пакетный файл запускает программу и задает положение и размер windows?

    Как подавить предупреждения «низкой памяти» в Vista Home Premium при работе без файла подкачки?

    IntelliJ и Tomcat … измененные файлы не распознаются автоматически Tomcat

    Почему у pthread_cond_wait есть побочные пробуждения?

    Как обмениваться случайным состоянием nump родительского процесса с дочерними процессами?

    Как просмотреть мой код HTML в браузере с помощью кода Visual Studio?

    Динамический вызов макроса из шага данных sas

    Давайте будем гением компьютера.