ViewPager刷新自己

时间:2015-02-01 18:05:17

标签: android android-viewpager fragmentpageradapter

我遇到了一些奇怪的问题。我按照教程Here

实施了ViewPagerTabStrip

它工作正常,我实施了三个标签。

在第一页/标签页上,我正在加载来自服务器和数据库的数据。在ListView

中显示它

问题是,当我刷到第三页&然后我刷回第二页,第一页的数据再次从服务器加载。(重新创建第一个标签的视图。)

从日志中看,这似乎是ViewPager& amp;的行为。适配器。

当我们在第一个标签上时,它会在背景和背景中创建第二个标签/页面的视图。当我们在第二个选项卡上时,它在后台和第三个选项卡中执行相同操作。在到达第三个标签时,它没有创建自己的视图(即第三个标签)。

但是当我们滑回第二个标签时,它也会创建第一个标签的视图。

如何解决这个问题?我们负担不起在浏览选项卡时反复加载来自服务器的数据。

我的意思是,有什么方法可以在浏览标签页时停止重新加载数据(或重新创建视图)?它应该在创建View Pager的整个片段活动时加载数据,而不是在刷卡时加载。

对此有任何帮助吗?

1 个答案:

答案 0 :(得分:3)

是的,ViewPager在销毁它们之前只在内存中保留了一定数量的片段 - 这个默认数字通常是两个。因此,您需要做的是告诉ViewPager保留这些片段。

最简单的解决方案是简单地告诉ViewPager将三个片段保留在内存中as follows

viewPager.setOffscreenPageLimit(3);

以下是关于如何保留片段(不仅仅是这种方法)以及默认行为背后的推理以及这些解决方案的一些建议答案: