【发布时间】:2016-10-08 04:09:37
【问题描述】:
当我从 TabFrag3 转到 TabFrag1 时,TabFrag1 会自动重新加载所有片段。 当我从 TabFrag1 上的 Tabfrag3 切换时,我需要停止“onCreateView”。 如果该功能已经加载过,如何停止该功能? 我希望它刚刚开始。
编辑:
主活动:
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
TabFragment1 tab1 = new TabFragment1();
return tab1;
case 1:
TabFragment2 tab2 = new TabFragment2();
return tab2;
case 2:
TabFragment3 tab3 = new TabFragment3();
return tab3;
default:
return null;
}
}
}
TabFragment1
public class TabFragment1 extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View inflatedView = inflater.inflate(R.layout.tab_fragment_1, container, false);
final ListView list= (ListView) inflatedView.findViewById(R.id.list);
new function();//this function load json data
return inflatedView;
}
这个onCreateView一次又一次的收费数据……
编辑 2: 我在这里找到了解决方案:https://stackoverflow.com/a/36518677/6910082
【问题讨论】:
-
描述你想要做什么并展示一些代码。没有足够的信息可以提供帮助。如果您使用的是具有多个片段的 viewpager,那么可以尝试 setOffscreenPageLimit()
-
您是否希望页面在导航到选项卡时不刷新
-
尝试查看代码。 “您是否希望页面在导航到选项卡时不刷新”=> 是的,我不希望刷新此片段。
-
尝试在您的
SectionsPagerAdapter中添加@Override public int getCount() { return PAGE_COUNT; } -
我已经有了:“@Override public int getCount() { return 3; } => 此代码是从 Android Studio 自动生成的。
标签: android android-fragments oncreate