当从 fragment 标签切换到 fragment 仪表板或位置 4 切换到 0 时,我的 SlidingTabLayout 会重新启动 fragment 仪表板 Activity 。 这是我到目前为止编写的代码,任何人都可以阐明这种情况吗?
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
//2 steps creating a fragment, create the fragment class and create the UI for it
Fragment fragment = null;
//we dont want it to return our place holder Fragment instead we want to switch bewtween 3
//create a switch case based on the position applied or the fragment selected
switch (position) {
case HOME:
fragment = Dashboard.newInstance("","");
break;
case TAGS:
fragment = Tags.newInstance("","");
break;
case MY_RECENT:
fragment = MyPosts.newInstance("","");
break;
case TOP:
fragment = Top.newInstance("", "");
break;
}
return fragment;
}
@Override
public int getCount() {
// Show 3 total pages.
return 4;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Home";
case 1:
return "Top";
case 2:
return "Recent";
case 3:
return "Tags";
}
return null;
}
}
最佳答案
您必须一次性加载所有 fragment ,您应该调用此方法
int size=4;
viewPager.setOffscreenPageLimit(size);
设置适配器后,大小是您要第一次加载的 fragment 的数量
关于java - SlidingTabLayout,重新启动 fragment 在情况 4 到 1 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35270685/