Android Fragment中嵌套Fragment,不显示view
2016-09-29 17:04
441 查看
先看一段错误代码,这段代码写在一个 Fragment 中:
这段代码看上去一切正常,但是有时候就是好好的就是现实不出来,找来找去死活找不到原因。
一切东西都是普通的再不普通不过的 List 或者 Adapter,List这么简单的东西还能出问题?
那就是Adapter的问题了,Adapter里面实现的不对吗?也没有问题啊,就那么简单的几个方法。
最后终于发现,问题就在 new ViewPageAdpater( getFragmentManager() ); 这里。
之前就知道 fragment中嵌套fragment 应该使用 getChildFragmentManager() ,每次用起来都是忘了。
正确的写法
以后每当在 Fragment 中要用到 FragmentManager 的时候一定要记住,使用 getChildFragmentManager()。
原文链接:http://www.jianshu.com/p/e146698482f5
private void initView(){ mViewPageAdpater = new ViewPageAdpater( getFragmentManager() ); mFragments.add( new BoonListFragment() ); mTitles.add( "title1" ); mFragments.add( new BoonListFragment() ); mTitles.add( "title2" ); mFragments.add( new BoonListFragment() ); mTitles.add( "title3" ); mViewPageAdpater.setFragments( mFragments, mTitles )
这段代码看上去一切正常,但是有时候就是好好的就是现实不出来,找来找去死活找不到原因。
一切东西都是普通的再不普通不过的 List 或者 Adapter,List这么简单的东西还能出问题?
那就是Adapter的问题了,Adapter里面实现的不对吗?也没有问题啊,就那么简单的几个方法。
最后终于发现,问题就在 new ViewPageAdpater( getFragmentManager() ); 这里。
之前就知道 fragment中嵌套fragment 应该使用 getChildFragmentManager() ,每次用起来都是忘了。
正确的写法
private void initView(){ mViewPageAdpater = new ViewPageAdpater( getChildFragmentManager() ); mFragments.add( new BoonListFragment() ); mTitles.add( "title1" ); mFragments.add( new BoonListFragment() ); mTitles.add( "title2" ); mFragments.add( new BoonListFragment() ); mTitles.add( "title3" ); mViewPageAdpater.setFragments( mFragments, mTitles ); }
以后每当在 Fragment 中要用到 FragmentManager 的时候一定要记住,使用 getChildFragmentManager()。
原文链接:http://www.jianshu.com/p/e146698482f5
相关文章推荐
- Android通过webservice连接SQLServer 详细教程(数据库+服务器+客户端)
- Android GPS定位详解及实例代码
- Android中的“再按一次返回键退出程序”实现
- Android开发需要知道的几个开源库
- 解决方法数超出 android优化 清除无效代码 UCDetector
- Android.mk详解
- Android 无线调试
- android单选按钮(RadioButton)、复选框(CheckBox)
- Android Studio目录结构浅析!!!
- 悬浮窗错误android.view.WindowManager$BadTokenException: permission denied for this window type
- Android 的透明色的代码
- Android的活动常见的状态
- 值得收藏的Android开发文集
- 事件分发
- Android调取系统相册和相机照片设置到ImageView并上传到服务器
- 活动Activity的栈的存储方式
- Ubuntu16.04下编译Android 6.0 源码
- Android硬件抽象层(HAL)概要介绍
- android手机闪退原因
- Android.mk语法详解