Есть ли событие «фрагмент завершен»? - PullRequest
0 голосов
/ 25 апреля 2018

Единственное, что я мог найти, что казалось уместным, было "onAttachFragment".Но когда я добавил отладочные сообщения, порядок был таким:

onAttachFragment()
end of activity's onCreate()
beginning of the fragment's onAttach()

Итак, onAttachFragment был вызван до onAttach.Что если мне нужно что-то сделать в действии после того, как был вызван onAttach для фрагмента?Это связано с тем, что зависимость фрагмента вводится в onAttach, и мне нужно вызвать метод фрагмента в действии после внедрения зависимости фрагмента.

PS: Пример Я видел, что звонил AndroidSupportInjection.inject(this) в onAttach() фрагмента, поэтому я последовал за ним.Но, возможно, я мог бы назвать это в onCreate() фрагмента?

1 Ответ

0 голосов
/ 25 апреля 2018

Нет способа сделать это с помощью методов жизненного цикла, кроме использования onAttachFragment (я бы сказал, использовать onAttachFragment, но это не работает для вас), что вы можете сделать, просто разработать интерфейс взаимодействия между фрагментом и деятельность. Создайте интерфейс в своем фрагменте:

interface OnFinishAttachCallback{
    void finishedAttached();
}

Создать глобальную переменную:

OnFinishAttachCallback callback;

Переопределить (вы уже это делаете) onAttach:

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    callback = (OnFinishAttachCallback) context;
}

Заставьте свою деятельность реализовать интерфейс и просто позвоните callback.finishedAttached(), когда вы хотите указать своей активности, что ваш фрагмент готов.

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