Android Fragment中嵌套Fragment不显示

Advertisement

先看一段错误代码,这段代码写在一个 Fragment 中:

private void initView(){
    mViewPageAdpater = new ViewPageAdpater( getFragmentManager() );

    mFragments.add( new DemoListFragment() );
    mTitles.add( "title1" );
    mFragments.add( new DemoListFragment() );
    mTitles.add( "title2" );
    mFragments.add( new DemoListFragment() );
    mTitles.add( "title3" );

    mViewPageAdpater.setFragments( mFragments, mTitles );
}

这段代码看上去一切正常,但是有时候就是好好的就是现实不出来,最后终于发现,问题就在 new ViewPageAdpater( getFragmentManager() ); 这里。

之前就知道 fragment中嵌套fragment 应该使用 getChildFragmentManager():

正确的写法:

private void initView(){
    mViewPageAdpater = new ViewPageAdpater( getChildFragmentManager() );

    mFragments.add( new DemoListFragment() );
    mTitles.add( "title1" );
    mFragments.add( new DemoListFragment() );
    mTitles.add( "title2" );
    mFragments.add( new DemoListFragment() );
    mTitles.add( "title3" );

    mViewPageAdpater.setFragments( mFragments, mTitles );
}

以后每当在 Fragment 中要用到 FragmentManager 的时候一定要记住,使用 getChildFragmentManager()。

Similar Posts:

  • Fragment中嵌套FragmentTabHost出错问题

    刚做android也没多长时间,作为一个成长的菜鸟,也要开始记录自己项目中遇到的问题,避免以后出同样的错误. 最近,再用slidingmenu的一个开源项目,再用到fragment中嵌套多个子fragment时(fragmentTabHost中的),一直报错: java.lang.IllegalStateException: Recursive entry to executePendingTransactio 开始一直不知道错误的具体原因,在网上找了很多资料,可能有些自己还不理解,但是终于找到

  • Android listview中嵌套Checkbox的布局文件

    Android listview中嵌套Checkbox的布局文件 效果图如下: 需要注意的地方: 1.设置比例 只是设置中间部分的比例 2.android:id="@+id/name"显示的是文件名称,比如像第二个长度太长,于是设置宽度为android:layout_height="20dip",这样多出来的字就不显示了 <?xml version="1.0" encoding="utf-8"?> <Line

  • Android ScrollView中嵌套ListView或GidView,导致ListView或GidView无法滚动或显示不全的问题

    前言: 按照android的标准,ScrollView中是不能嵌套具有滑动特性的View的,但是如果真的要这样设计,就不得不采用这种怪异的组合方式. 问题: 先说下这种方式如果不做特殊处理时会出现的冲突和问题: 1.在SrollView中嵌套ListView,ListView的显示会有问题,只显示一行或显示效果与预期不同,这是因为android禁止这样使用,放入ScrollView中的ListView 的高度是无法计算的. 2.嵌套中的子ListView和GridvIew是无法滑动的,因为子控件

  • 解决ScrollView中嵌套 listView只显示1行的问题

    注意:ScrollView中只能放一个子 View xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="

  • android scrollview中嵌套listview 使得xml页面中listview上面的部分控件无法显示

    an'd'roid --cut--

  • Fragment 中的Fragment内容不加载

    利用 Fragment创建滑动Tab页面的时候FragmentPagerAdapter需要设置FragmentManager 因为是Fragment嵌套结构 如果这个FragmentManager 使用getChildFragmentManager则正确 如果用getFragmentManager则会出现pager中内容不加载的情况

  • android ScrollView中嵌套listview解决途径

    第一种方式: public void setListViewHeightBasedOnChildren(ListView listView) { android.widget.ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { View

  • Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理

    Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法. 并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为ActionBar使用时需要注意的事项. 使用support library的Toolbar Android的ActionBar每个版本都会做一些改变, 所以原生的ActionBar在不同的系统上看起来可能会不一样. 使用support library版本的Toolbar可以让你的应用在多种设备类型

  • Android实习札记(4)---Fragment(碎片)基本概念解析

    Android实习札记(4)---Fragment(碎片)基本概念解析 转载请注明出处:coder-pig Fragment相信大家都不会陌生吧,侧滑啦,抽屉效果啦,DialogFragment啊等等,一堆地方都会 用到Fragment,对于Fragment的基本概念在前面的文章中其实已经给出的了,这里回顾一遍, 温故而知新嘛,同时结合Google官方的api进行复习! 1)什么是Fragment以及它的生命周期: 核心要点: 1)3.0版本后引入,即minSdk要大于11 2)Fragment

  • 套在ViewPagerz中的Fragment在各种状态下的生命周期

    (感谢hdszlk的实测) 1.一直以来的疑问 Fragment在ViewPager到底经历了哪些生命周期方法?到底发生了什么? 常会TabLayout和ViewPager配合起来使用,针对这套组合,就想也做一些学习了解.在一个ViewPager中经常会存在多个Fragment,Fragemnt在ViewPager中的生命周期一直没有闹明白.这周正好在测试Api的时候又用到了TabLayout和ViewPager组合.ViewPager中的Fragment并想做到延迟加载,在可见的时候再进行网络