android – 如何告诉我的自定义FragmentPagerAdapter来停止销毁我的碎片?

栏目: IOS · Android · 发布时间: 6年前

内容简介:我有一个带有FragmentPagerAdapter的ViewPager,我的应用程序以前只使用了两个片段(不同类型),没有问题.我刚刚添加了第三个片段,现在我的适配器/查看器似乎正在摧毁我的片段,当我远离他们.例如,如果我在第1页,第3页被破坏并重新创建,当我接近它.如果我在第3页,第1页也是如此.这在我的应用程序中引起了很多问题.这些碎片根本不是非常重的RAM,所以我该如何阻止这种情况发生?

我有一个带有FragmentPagerAdapter的ViewPager,我的应用程序以前只使用了两个片段(不同类型),没有问题.

我刚刚添加了第三个片段,现在我的适配器/查看器似乎正在摧毁我的片段,当我远离他们.例如,如果我在第1页,第3页被破坏并重新创建,当我接近它.如果我在第3页,第1页也是如此.

这在我的应用程序中引起了很多问题.这些碎片根本不是非常重的RAM,所以我该如何阻止这种情况发生?

我相信你正在寻找 ViewPager.setOffscreenPageLimit()

.

在你的情况下,以下应该保持你的碎片在记忆中,而不是破坏它们.

ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
pager.setOffscreenPageLimit(2);

但是,我怀疑您在销毁时不正确地存储您的视图状态.您的碎片应正确处理被毁坏/重新创建.如果发生方向改变,您的碎片将被破坏并重新创建.如果用户离开您的应用程序并且系统以后需要内存并销毁您的活动,也可能会发生这种情况.它应该能够重新打开并处于与之前相同的状态.如果这确实是您的问题,请考虑在 onSaveInstanceState() 保存状态.保存的状态将在 onCreate 中提交给您,您可以将该片段的状态初始化为与已销毁的状态相同.

http://stackoverflow.com/questions/13273285/how-do-i-tell-my-custom-fragmentpageradapter-to-stop-destroying-my-fragments


以上所述就是小编给大家介绍的《android – 如何告诉我的自定义FragmentPagerAdapter来停止销毁我的碎片?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Adobe Flex 大师之路

Adobe Flex 大师之路

2009-5 / 69.80元

《Adobe Flex大师之路》以Flex 3.0为基础,涵盖了Flex技术的核心内容。《Adobe Flex 大师之路》能够帮助您你学习并掌握使用Flex所需的牢靠和全面的知识基础,告诉您你如何把这些知识将之转化为代码,并在实际项目中变通应用。通过学习《Adobe Flex 大师之路》,您你可以利用Flex来构建企业级应用的表现层、改善应用的用户体验、集成企业端的复杂服务。这本书是为所有希望学习......一起来看看 《Adobe Flex 大师之路》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具