Есть ли недопонимание относительно обратного вызова фрагмента onActivityCreated? - PullRequest
1 голос
/ 11 апреля 2020

onActivityCreated, кажется, означает "Этот обратный вызов фрагмента выполняется сразу после того, как действие было ... создано ... Я имею в виду, сразу после того, как фрагмент правильно присоединен к действию. Там вы можете безопасно вызвать getActivity, он не вернет ноль, за исключением случаев, когда активность по какой-то особой причине равна null.

Однако я видел, что фрагментный обратный вызов onAttach вызывается даже после OnCreate, это означает, что фрагмент был присоединен к созданному действию.

Полный рабочий процесс для фрагмента (и для диалога фрагмента, который часто остается позади): onAttach -> onCreate -> onCreateView -> onActivityCreated. Таким образом, в каждом из этих 4 методов (возможно, не onAttach, я не знаю), активность обычно не равна нулю и привязана к фрагменту.

Итак, мой вопрос: почему происходит обратный вызов onActivityCreated поскольку действие, по сути, уже создано и прикреплено к фрагменту 3 обратных вызовов a go ???

1 Ответ

1 голос
/ 11 апреля 2020

Таким образом, в основном в onAttach () мы получаем подтверждение того, что активность прикреплена к моему фрагменту, я могу использовать getActivity () для получения таких ресурсов, как

getActivity().getResources.getDrawable(R.drawable.abc)

, но предположим, что если вы хотите получить просмотры, надуваемые в xml, например, если вы хотите получить доступ к

getActivity().findViewById(R.id.Myelement)

. Здесь вы можете получить значение NULL, поэтому OnActivtyCreated () гарантирует, что представление активности является раздутым. Теперь вы можете получить доступ к представлениям действия (представление активности было создано (onActivityCreated))

...