我刚刚开始使用材料设计中的ViewPager和Tablayout(Android Studio附带)。我创建了5个片段,我可以根据需要使用滑动它们。
根据用户在Fragment 2中的选择,我想删除Fragment 3。但是,从选项卡布局中删除选项卡后,当滑动到第3个选项卡(在删除第3个选项卡之前是第4个选项卡)时,显示了错误的片段-系统在内存中有第3个片段并显示它。如果我销毁该片段,则会收到关于“无法更改片段的标记”的异常。
我如何告诉系统第三个片段是不使用或删除它从内存中,直到我需要它,然后重新加载到内存。
3条答案
按热度按时间ulmd4ohb1#
您是否正在使用FragmentPagerAdapter?如果是,您可能需要尝试FragmentStatePagerAdapter。因为它会破坏未使用的片段。如果不是,请提供一些代码,以便我们能够深入了解。
izkcnapc2#
我也遇到了同样的问题,那就是虽然我更新了适配器的数据,但视图仍然没有更新!然而,我发现,一旦我更新了适配器的数据,并调用了
.notifDataSetChange()
,我又调用了.setsAdapter(m_PagerAdapter)
。这对我很有效:)...agyaoht73#
设置viewpager.offscreenPageLimit为你的碎片计数。它应该可以工作