Каков жизненный цикл BottomSheetDialogFragment - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь внедрить Algolia в BottomSheetDialogFragment, и у меня возникли некоторые проблемы, которые, я думаю, имеют отношение к жизненному циклу.Я пытаюсь выяснить, каков жизненный цикл, но я не могу найти ответы.

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

В частности, я размышляю о том, когда вызывается des onCreateDialog и существуют ли другие уникальные методы для этого фрагмента.Моя проблема в том, что мой searchBox по какой-то причине плохо соединяется с моим Hits View (тот же код работал, когда я использовал постоянный нижний лист, но мне пришлось изменить), и мне интересно, нужно ли мне вызывать поисковик ипомощник где-то еще в моем коде.

1 Ответ

1 голос
/ 08 июля 2019

Жизненный цикл BottomSheetDialogFragment совпадает с Fragment.

Это довольно легко понять, поскольку BottomSheetDialogFragment расширяет AppCompatDialogFragment (и добавляет только onCreateDialog() функций), что, в свою очередь, расширяет DialogFragment (и добавляет onCreateDialog() & setupDialog() функций), что в Поворот продолжается Fragment.

DialogFragment имеет тот же жизненный цикл, что и Fragment ( ссылка ). Поскольку ни один из методов жизненного цикла не был затронут, AppCompatDialogFragment и BottomSheetDialogFragment будут иметь тот же жизненный цикл, что и Fragment.

открытый диалог onCreateDialog (Bundle saveInstanceState)

Переопределить, чтобы создать свой собственный контейнер Dialog. Это обычно используется для отображения AlertDialog вместо общего диалога; при выполнении Итак, Fragment.onCreateView (android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) не нужно реализовано, поскольку AlertDialog заботится о своем собственном контенте.

Этот метод будет вызываться после onCreate (android.os.Bundle) и перед Fragment.onCreateView (android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle). Реализация по умолчанию просто создает и возвращает класс Dialog.

Примечание: DialogFragment владеет Dialog # setOnCancelListener и Диалог # setOnDismissListener обратные вызовы. Вы не должны устанавливать их самостоятельно. Чтобы узнать об этих событиях, переопределите onCancel (android.content.DialogInterface) и onDismiss (android.content.DialogInterface).

Официальная документация для дальнейшего использования.

...