如何在标签更改时避免重新加载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,当我更改标签并返回第一个标签时,重新加载列表。 有办法避免这种重装吗?只需保持数据加载。
答案 0 :(得分:8)
默认情况下,Android只在ViewPager
的当前片段的两侧保留一个片段。因此,当您从第三个选项卡返回第一个选项卡时,它将重新创建第一个选项卡,这是您的案例中发生的事情。 Here是文档。
你需要将所有碎片保存在内存中
viewPager.setOffscreenPageLimit(<(number of fragments in view pager) - 1>)
在你的情况下是2。
当然,正如文档所暗示的那样,这个数字应该保持较低,特别是如果它的布局复杂。
答案 1 :(得分:2)
yourViewPager.setOffscreenPageLimit(2);