Сохранить медиафрагмент воспроизведения музыки - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть BottomSheetDialogFragment, который я использую для воспроизведения записей.Но фрагмент воссоздается с нуля и уничтожается при изменении конфигурации.

Я пытаюсь найти событие жизненного цикла, вызываемое только тогда, когда фрагмент полностью уничтожен.Но все onDetach() onDestroy() onDestroyView() вызываются при любом изменении конфигурации (например, при повороте).

Я пробовал retainInstance, но onDestroy() все еще вызывается.

Я видел, как другие игроки делали это, как Google Play Music, с небольшим диалоговым окном.Это потому, что они используют Activity вместо фрагмента?Что-то более независимое, вероятно, обладает большей силой, но это все еще полная активность, которую труднее контролировать.

1 Ответ

0 голосов
/ 27 ноября 2018

Похоже, что проблема была в библиотеках, диалоговое окно было закрыто, даже если фрагмент не был уничтожен.

override fun onDestroyView() {
    if (dialog != null && retainInstance) {
        dialog.setDismissMessage(null)
    }
    super.onDestroyView()
}

Этот код исправил это, теперь фрагмент сохраняется и onDestroy() нетбольше не вызывают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...