Android ViewPager内部碎片加载一次
我得到ViewPager的问题。我正在使用FragmentActivity,并在FragmentActivity中添加了多个片段,如下所示。Android ViewPager内部碎片加载一次
public void addFragment(Fragment fragment, boolean addToBackStack, int transition) {
FragmentTransaction ft = getFragmentManager().beginTransaction().setCustomAnimations(R.anim.slide_up,R.anim.slide_down,R.anim.slide_up,R.anim.slide_down);
ft.replace(R.id.main, fragment);
ft.setTransition(transition);
if (addToBackStack)
ft.addToBackStack(null);
ft.commit();
}
我正在使用ViewPager里面的片段。加载FragmentActivity时,ViewPager工作正常。但是当我使用另一个片段ViewPager变得不可见。
例如
一个。)片段A与 ViewPager
湾)片段B而不ViewPager
片段A工作正常,当我运行应用程序。当我去片段B 然后我再次将Fragment B替换为片段A,然后ViewPager无法正常工作。我看到我正在使用ViewPager的空白视图。
请让我知道我该如何解决这个问题
感谢
我自己解决了这个问题,当你在fragm里面使用ViewPager
使用getChildFragmentManager()
而不是getSupportFragmentManager()
或getFragmentManager()
。
就是这样。
我不能评论,所以我要在这里写的答案。
为什么你不只是把viewpager作为一个片段:
public class ViewPager extends Fragment{
public static final String TAG = ViewPager.class.getSimpleName();
private ViewPagerAdapter mAdapter;
public static ViewPager newinstance(){
ViewPager viewPager = new ViewPager();
return viewPager ;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.view_pager, container, false);
ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager);
mAdapter = new ViewPagerAdapter(getChildFragmentManager());
viewPager.setAdapter(mAdapter);
return view;
}
}
在您的适配器:
public class ViewPagerAdapter extends FragmentPagerAdapter{
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
return Fragment.newinstance();
}
@Override
public int getCount() {
return 5; //number of pages on your viewPager
}
然后在您的主要活动,你可以使交易添加视图寻呼机
ViewPager viewPager = ViewPager.newInstance();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.content_frame,viewPager);
ft.addToBackStack(ViewPager.TAG);
ft.commit();
我有片段自定义视图,我放置ViewPager – 2014-09-23 03:47:43
检查http://*.com/questions/19485848/how-load-fragment-in-viewpager-only-when-its-selected 希望它能帮助:) – 2015-02-06 07:21:01
检查HTTP://计算器。 com/questions/19485848/how-load-fragment-in-viewpager-only-when-its-selected 希望它解决你的问题:) – 2015-02-06 07:23:02