标签更改时如何避免重新加载数据?

时间:2016-06-02 00:17:17

标签: android

如何在标签更改时避免重新加载Recyclerview? 例如,我有一个带有三个Tabs的TabLayout,我的ViewPager是:

#include <stdio.h>
#include <math.h>

int main()
{

    int n = static_cast<int>(50 * (60 / 99));

    printf("Floor: %d\n", n);

    return 0;
}

在第一个中,我有一个recyclerview,当我更改标签并返回第一个标签时,重新加载列表。 有办法避免这种重装吗?只需保持数据加载。

2 个答案:

答案 0 :(得分:8)

默认情况下,Android只在ViewPager的当前片段的两侧保留一个片段。因此,当您从第三个选项卡返回第一个选项卡时,它将重新创建第一个选项卡,这是您的案例中发生的事情。 Here是文档。

你需要将所有碎片保存在内存中 viewPager.setOffscreenPageLimit(<(number of fragments in view pager) - 1>)在你的情况下是2。

当然,正如文档所暗示的那样,这个数字应该保持较低,特别是如果它的布局复杂。

答案 1 :(得分:2)

yourViewPager.setOffscreenPageLimit(2);