我使用FragmentStatePagerAdapter在具有相同布局的片段之间导航。在片段的onActivityCreated()中,我将活动的操作栏设置为当前片段的工具栏。问题是,由于屏幕外页面限制设置为2,查看器预加载片段将使除最后一次setSupportActionBar()调用之外的所有调用都无效。有什么帮助吗?
我知道我可以保留对所有当前活动页面的引用,并在onPageSelected()中调用onPageSelected()。但这被认为是一种糟糕的做法,对吧?
更新:刚刚确认即使使用WeakReference,碎片仍然不会被释放。
发布于 2016-08-17 08:36:41
一种方法是使用setUserVisibleHint(boolean isVisibleToUser)片段的方法并在那里设置工具栏。
此外,您还可以将OnPageChangeListener附加到ViewPager上,并在选择页面时更新工具栏。
https://stackoverflow.com/questions/38991747
复制相似问题