【发布时间】:2015-05-20 07:05:14
【问题描述】:
我有一个滑动标签,其中包含三个标签的三个不同片段。 FragmentPagerAdapter 中的 getItem 方法调用了两次。我的第一个选项卡加载本地数据,并且布局与接下来的两个选项卡(tab2、tab3)不同。 Tab2 和 Tab3 从服务器获取数据并相应加载。
我的问题是,第一次加载 getItem 调用了两次,这导致 tab1 和 tab2 都执行了。虽然 tab1 只包含本地数据,但由于两次调用 tab2 执行并从服务器获取数据。
我不想在 tab1 中执行 tab2 和它的功能等等。
getItem() 代码:
@Override public Fragment getItem(int position) {
Fragment fragment = null;
switch (position) {
case 0: fragment = new CommentFragment(); break;
case 1: fragment = new AllPostFragment(); break;
case 2: fragment = new TodayFragment(); break;
}
return fragment;
}
所以,我正在寻找解决方案。如果可以的话,请帮助我。
【问题讨论】:
-
可以分享代码吗
-
@Override public Fragment getItem(int position) { Fragment fragment = null; switch (mViewPager.getCurrentItem()) { case 0: fragment = new CommentFragment();休息;案例1:片段=新的AllPostFragment();休息;案例 2:fragment = new TodayFragment();休息; } 返回片段;这是我的 getItem 方法。 CommentFragment 没有服务器交互。但是 allPostFragement 从服务器获取数据。所以第一次,大小写匹配位置 0 和 1 并执行 AllPostFragment 并开始从服务器获取数据。
-
添加了来自 OP 评论的代码
标签: android android-fragments fragmentpageradapter