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

查看所有标签

猜你喜欢:

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

大学程序设计课程与竞赛训练教材

大学程序设计课程与竞赛训练教材

吴永辉、王建德 / 机械工业出版社 / 2013-6 / 69.00

本书每章为一个主题,实验内容安排紧扣大学算法和数学的教学,用程序设计竞赛中的算法和数学试题作为实验试题,将算法和数学的教学与程序设计竞赛的解题训练结合在一起;在思维方式和解题策略的训练方面,以问题驱动和启发式引导为主要方式,培养读者通过编程解决问题的能力。 本书特点: 书中给出的234道试题全部精选自ACM国际大学生程序设计竞赛的世界总决赛以及各大洲赛区现场赛和网络预赛、大学程序设计竞......一起来看看 《大学程序设计课程与竞赛训练教材》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

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

UNIX 时间戳转换