fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ...
2014-04-18 11:28
501 查看
现在好多应用流行一种布局。底部几个工具栏选项,上面也有类似tab的选项。
![](file:///D:\MyQQ\401154223\Image\C6D1D702FB2D39254779D54DE049AAB7.jpg)
![](http://img.blog.csdn.net/20140418112010640?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlib29rMTEyMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
底部用RadioGroup控制fragment的切换。以上有五个fragment。
第一个fragment,代表着首页。首页又是一个类似tab的fragment,使用viewpager切换着两个fragment。
private void InitViewPager(View parentView) {
mPager = (ViewPager) parentView.findViewById(R.id.vPager);
fragmentsList = new ArrayList<Fragment>();
fragment1 = new SortHotFragment();
fragment2 = new SortNewFragment();
fragmentsList.add(fragment1);
fragmentsList.add(fragment2);
mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getSupportFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
}
一般根据往常的经验,如果要传入fragmentmanager,都是红色字体部分。
但是,这样会导致一个问题:数据丢失。
在fragment切换来回时,其他单个的fragment里面的数据不会丢失,而使用了viewpager的多个fragment切换的fragment会一团漆黑。
解决办法:
将红色字体部分,用getChildFragmentManager() 替换。
mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getChildFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
之前一直在忙,才发现很多网友留言请求代码,非常抱歉。现在写了一个简单的demo,现将下载地址贴在下面。
下载地址:http://download.csdn.net/download/mybook1122/7657137
![](file:///D:\MyQQ\401154223\Image\C6D1D702FB2D39254779D54DE049AAB7.jpg)
底部用RadioGroup控制fragment的切换。以上有五个fragment。
第一个fragment,代表着首页。首页又是一个类似tab的fragment,使用viewpager切换着两个fragment。
private void InitViewPager(View parentView) {
mPager = (ViewPager) parentView.findViewById(R.id.vPager);
fragmentsList = new ArrayList<Fragment>();
fragment1 = new SortHotFragment();
fragment2 = new SortNewFragment();
fragmentsList.add(fragment1);
fragmentsList.add(fragment2);
mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getSupportFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
}
一般根据往常的经验,如果要传入fragmentmanager,都是红色字体部分。
但是,这样会导致一个问题:数据丢失。
在fragment切换来回时,其他单个的fragment里面的数据不会丢失,而使用了viewpager的多个fragment切换的fragment会一团漆黑。
解决办法:
将红色字体部分,用getChildFragmentManager() 替换。
mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getChildFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
之前一直在忙,才发现很多网友留言请求代码,非常抱歉。现在写了一个简单的demo,现将下载地址贴在下面。
下载地址:http://download.csdn.net/download/mybook1122/7657137
相关文章推荐
- fragment中嵌套viewpager,vierpager中有多个fragment不显示
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ...
- [Android Pro] fragment中嵌套viewpager,vierpager中有多个fragment,不显示
- 解决fragment中嵌套viewpager,vierpager中有多个fragment,不显示的问题
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示而且滑动卡顿
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ...
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- ViewPager中有多个fragment,每个fragment中又嵌套viewpager,vierpager中有多个fragment,不显示 ...
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ...
- Android:fragment中嵌套viewpager,vierpager中有多个fragment
- fragment中嵌套viewpager,vierpager中用fragment不显示数据