ViewPager 只加载一次片段
ViewPager only load the fragments once time
我有一个 android DrawerLayout
,它有 2 个项目,其中一个是 fragment
和 PagerTabStrip
,它加载了它们的 fragments
但是当我更改 DrawerLayout
的项目并返回到 PagerTabStrip
时,它会加载选项卡,但不会加载它们的 fragments
.
这是我的 PagerTabStrip class
public class maintabs extends Fragment {
FragmentPagerAdapter adapterViewPager;
PagerTabStrip pagerTabStrip;
View rootView;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.tabs_main, container, false);
ViewPager vpPager = (ViewPager) rootView.findViewById(R.id.vpPager);
pagerTabStrip = (PagerTabStrip) rootView.findViewById(R.id.pager_header);
pagerTabStrip.setDrawFullUnderline(true);
adapterViewPager = new SampleFragmentPagerAdapter(getFragmentManager());
vpPager.setAdapter(adapterViewPager);
return rootView;
}
}
我找到了解决办法。
只需使用 FragmentStatePagerAdapter 代替 FragmentPagerAdapter
我有一个 android DrawerLayout
,它有 2 个项目,其中一个是 fragment
和 PagerTabStrip
,它加载了它们的 fragments
但是当我更改 DrawerLayout
的项目并返回到 PagerTabStrip
时,它会加载选项卡,但不会加载它们的 fragments
.
这是我的 PagerTabStrip class
public class maintabs extends Fragment {
FragmentPagerAdapter adapterViewPager;
PagerTabStrip pagerTabStrip;
View rootView;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.tabs_main, container, false);
ViewPager vpPager = (ViewPager) rootView.findViewById(R.id.vpPager);
pagerTabStrip = (PagerTabStrip) rootView.findViewById(R.id.pager_header);
pagerTabStrip.setDrawFullUnderline(true);
adapterViewPager = new SampleFragmentPagerAdapter(getFragmentManager());
vpPager.setAdapter(adapterViewPager);
return rootView;
}
}
我找到了解决办法。 只需使用 FragmentStatePagerAdapter 代替 FragmentPagerAdapter