Я использовал FragmentStatePagerAdapter
для перемещения между фрагментами с одинаковой компоновкой. В фрагменте onActivityCreated()
я установил панель действия в панель инструментов текущего фрагмента. Проблема заключается в том, что viewpager предварительно загружает фрагменты, так как ограничение на экранной странице установлено равным 2, что делает недействительными все, кроме последних setSupportActionBar()
. Любая помощь?Android FragmentStatePagerAdapter setSupportActionBar()
Я знаю, что я могу хранить ссылки на все текущие активные страницы и вместо этого звонить setSupportActionBar()
в onPageSelected()
. Но это считало плохую практику, не так ли?
Обновление: Подтверждено, что даже использовать WeakReference
, фрагменты по-прежнему не освобождаются.
Для первого решения я googled, что 'setUserVisibleHint()' вызывается перед 'onCreateView()', и я могу подтвердить, что предварительно загруженные фрагменты также вызывают 'onCreateView()', прежде чем они станут видимыми для пользователя. Порядок первого вызова фрагмента непредсказуем. Для второго решения, не так ли плохо вмешиваться в управление фрагментами? – mljli