Fav*_*las 3 tabs android android-fragments android-viewpager
我要实现的ViewPager
选项卡类似于Google 在此处提供的实现。
我的应用程序具有以下行为。我ViewPager
有3个“页面”(fragA,fragB,fragC),并且在的顶部实现了3个标签ViewPager
。Google的实现与我的实现之间的区别在于,这些标签不用于在之间进行导航fragments
。例如,按我的一个标签,在可见片段上加载另一组数据。我可以fragA
与tab3
选择,fragB
与tab2
选择fragC
与tab1
选择。
当我在片段之间滑动时,我想保持当前选中的选项卡的状态。我通过以下代码实现了这一点:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && mTabHost != null) {
if (mTabHost.getCurrentTab() != selectedTimePeriod) {
mTabHost.setCurrentTab(selectedTimePeriod);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在3个片段中都有上面的代码,并且几乎每次都可以按预期方式工作,但是不幸的是,在某些情况下,我什至无法完全重现,因为它仅发生在rand上,无法保持状态。
在Viewpager
两次滑动之间保存选项卡状态(例如在屏幕旋转之间)的正确方法是什么?
您可以使用
viepagerObj.setOffscreenPageLimit(2)
Run Code Online (Sandbox Code Playgroud)
这将加载片段并将其保留在内存中。例如,在您启动时,除了第一个片段(fragC)外,接下来的两个片段(fragB和fragA)将被加载并保存在内存中。默认情况下,该值为1,表示片段C +下一个片段(fragB)已加载,当向右滑动时,片段fragA将加载以删除片段fragC,反之亦然。
归档时间: |
|
查看次数: |
1338 次 |
最近记录: |