我使用FragmentStatePagerAdapter
在具有相同布局的片段之间导航。在片段的onActivityCreated()
中,我将活动的操作栏设置为当前片段的工具栏。问题是viewpager预加载片段,因为屏幕外页面限制设置为2,这使得除了最后setSupportActionBar()
个调用之外的所有调用都无效。有什么帮助吗?
我知道我可以保留对所有当前有效网页的引用,并在setSupportActionBar()
中调用onPageSelected()
。但那被认为是一种不好的做法,对吗?
更新:刚刚确认即使使用WeakReference
,片段仍然无法释放。
答案 0 :(得分:0)
一种方法是使用setUserVisibleHint(boolean isVisibleToUser)
Fragment方法并在那里设置工具栏。
此外,您可以在ViewPager上附加OnPageChangeListener
,并在选择页面时更新工具栏。