gpt4 book ai didi

Android ViewPager : Update off-screen but cached fragments in ViewPager

转载 作者:行者123 更新时间:2023-12-02 00:43:03 27 4
gpt4 key购买 nike

我有一个 ViewPager,其中包含多个 TextView,它们具有不同的字体大小。此外,我还获得了增加/减少字体大小的按钮,通过添加其默认大小加上一个名为 STEP 的值(该值通过 inc/dec 字体大小按钮进行更改)来计算每个 textView 的字体大小。
我的问题是,如果在应用大小更改后第一次显示 View ,它将在 onCreateView() 期间创建所需大小的 textView,但是如果 fragment 已经缓存并且 onCreateView 不再被调用,我不知道如何更新它们的 textView考虑到只有一个缓存 fragment 显示在屏幕上(我可以毫无问题地更新它),但其他 fragment 不会显示(我不知道它们是否附加到 Activity ,在这种情况下)。
换句话说,我如何检测 ViewPager 缓存了哪些 fragment 以及它们的 onCreateView 已被调用(这些是必须应用更新到其 View 的 fragment )。我在下图中用浅绿色和问号标记了它们:enter image description here

最佳答案

接受的答案很好,但您不应该缓存所有项目。相反,您可以使用此方法:

mViewPager.setOffscreenPageLimit(int);

例如,有很多带有图像和动画的项目。如果您缓存所有这些,这可能会导致 OutOfMemoryError 。为了防止这种情况,您可以定义要缓存的页面限制。

编辑:改为HashMap<Integer, Object> ,最好使用 SparseArray<Object> .

关于Android ViewPager : Update off-screen but cached fragments in ViewPager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23133912/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com