Android FragmentStatePagerAdapter setSupportActionBar()

时间:2016-08-17 08:33:19

标签: android android-actionbar android-viewpager

我使用FragmentStatePagerAdapter在具有相同布局的片段之间导航。在片段的onActivityCreated()中,我将活动的操作栏设置为当前片段的工具栏。问题是viewpager预加载片段,因为屏幕外页面限制设置为2,这使得除了最后setSupportActionBar()个调用之外的所有调用都无效。有什么帮助吗?

我知道我可以保留对所有当前有效网页的引用,并在setSupportActionBar()中调用onPageSelected()。但那被认为是一种不好的做法,对吗?

更新:刚刚确认即使使用WeakReference,片段仍然无法释放。

1 个答案:

答案 0 :(得分:0)

一种方法是使用setUserVisibleHint(boolean isVisibleToUser) Fragment方法并在那里设置工具栏。

此外,您可以在ViewPager上附加OnPageChangeListener,并在选择页面时更新工具栏。