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

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

内容简介:我有一个带有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来停止销毁我的碎片?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Web界面设计

Web界面设计

Bill Scott、Theresa Neil / 李松峰 / 电子工业出版社 / 2009年7月 / 80.00元

当前的Web已经进入崭新的时代!本书涵盖了在基于独一无二的Web环境下、在创建丰富体验的过程中设计Web界面的最佳实践、模式和原理。UI专家Bill Scott和Theresa Neil在他们多年实践经验和不懈探索的基础上,总结提炼出了Web界面设计的六大原理——直截了当、简化交互、足不出户、提供邀请、使用变换和即时反应,并以这六大原理为依托,以当今Web上各类开风气之先的流行网站为示例,向读者展......一起来看看 《Web界面设计》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换