fragment嵌套子fragment
场景:
需求是在expandablelistview的item长按会弹出一个对话框,对话框顶部一个选项卡,下面是fragment作相应的切换。对话框是用DialogFragment实现的。
问题:
java.lang.IllegalArgumentException: No view found for id 0x7f0c00a8 (app.yinhai.org.securitycheckapp:id/container_contentDialog) for fragment ContentDialogFragmentRight{41d00280 #1 id=0x7f0c00a8}
切换时会报这个错。
解决:
代码中获得的fragmentManager方式不对,应该用getChildFragmentManager()方法返回fragmentManager对象。
引用一段别人的总结:
当您遇到想在一个可复用的动态UI组件里放入另一个可复用的UI组件时,这个方案就非常有用。例如,如果您用ViewPager做了个可左右滑动的Fragment,并占用了大部分屏幕空间,您可以在其中的每个fragment页面中嵌入别的fragment了。 想要实现嵌套Fragment,只需在您想进行嵌入的Fragment中调用getChildFragmentManager() 方法。这样会返回一个FragmentManager,然后您就可以用和在顶层的Acitivity中嵌入fragment一样的方法进行操作了。例如,以下代码在一个现有的Fragment类中加上了另一个Fragment:
Fragment videoFragment = new VideoPlayerFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.video_fragment, videoFragment).commit();
在嵌套的fragment中,您可以通过调用getParentFragment()方法来获取父fragment的引用。
fragment嵌套子fragment的更多相关文章
- Fragment之一:Fragment入门
参考自张泽华视频 Fragment是自Android3.0后引入的特性,主要用于在不同的屏幕尺寸中展现不同的内容. Fragment必须被嵌入Activity中使用,总是作为Activity的组成部分 ...
- activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI
今天遇到挺纠结的问题,由于产品设计的问题,技术上涉及到activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI ...
- Fragment里面嵌套Fragment的问题
最近两天做项目时,要在fragment里面嵌套Fragment,最开始使用Fragment的hide,show等方法一直失败,,如图,message是一个fragment,在里面又有两个子fragme ...
- 关于TabLayout与ViewPager在Fragment中嵌套Fragment使用或配合使用的思考
注意: 因为继承的是Fragment,所以getSupportFragmentManager()与getFragmentManager()方法无法使用,这里需要用到getChildFragmentMa ...
- ScrollView嵌套子View的getDrawingCache为空的解决方法
ScrollView嵌套子View的getDrawingCache为空的解决方法 问题 将组件的显示布局改为可以滚动的,然后用ScrollView作为了View的父类,发现View的getDrawin ...
- 子Fragment获取父Fragment
在子Fragment操作父Fragment的思路 ((FragmentRecyclerBD)FragmentAppointmentBD.this.getParentFragment()).change ...
- 动态更新ViewPager中的Fragment(替换Fragment)
1.最近做需求,遇到一个问题,一个Fragment中包含了一个ViewPager,viewPager中包含一adapter ,adapter中包含了4个Fragment.想要动态替换第3个Fragme ...
- XXXfragment that is not a fragment错误,fragment认不出来
要注意的是fragment事实上是有两个版本号的,一个是 import android.support.v4.app.Fragment; 另外一个是 import android.app.Fragme ...
- Fragment之一:Fragment入门 分类: H1_ANDROID 2013-11-15 18:16 2799人阅读 评论(2) 收藏
参考自张泽华视频 Fragment是自Android3.0后引入的特性,主要用于在不同的屏幕尺寸中展现不同的内容. Fragment必须被嵌入Activity中使用,总是作为Activity的组成部分 ...
随机推荐
- 关于小程序picker 的使用
前言 以前做小程序的时候只会用那个picker mode = region的 3级选中, 现在需要自己根据后台给的编号省市区来用然后就研究了多列选择器:mode = multiSelector 的用法 ...
- UVALive 3523 : Knights of the Round Table (二分图+BCC)
题目链接 题意及题解参见lrj训练指南 #include<bits/stdc++.h> using namespace std; ; int n,m; int dfn[maxn],low[ ...
- 【leetcode】1218. Longest Arithmetic Subsequence of Given Difference
题目如下: Given an integer array arr and an integer difference, return the length of the longest subsequ ...
- 《Spring源码深度解析》一
Spring整体架构 1.1 Spring整体架构 1.1.1 Core Container: 模块:Core.Beans.Context和Expression Language Core:框架的基础 ...
- C# 更改 Hashtable key 名称
Hashtable ht = new Hashtable(); ht[; ht["B"] = ht["标题"]; ht.Remove("标题" ...
- java总结1
栈,堆,方法区.main和局部变量在栈,new 对象 在堆, 类和常量在方法区除了8大基础数据类型,其他都为引用变量局部变量在函数内或方法上声明,没有默认值,定义必须赋值一旦提供构造方法,就不会有默认 ...
- 使用ros_driver运行velodyne16线激光雷达
一.使用ros_driver运行VLP16 推荐网址: http://blog.csdn.net/littlethunder/article/details/51920681 https://www. ...
- (56)Linux驱动开发之二
内核基础 1.li ...
- Intellij Idea Spring Boot 热部署
1. POM 文件添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...
- 初识java虚拟机——JVM
1.Java程序运行过程 编写 编译 运行 过程如图所示: 2.JVM的认识 定义:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚 ...