手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android中关于FragmentA嵌套FragmentB的问题
Android中关于FragmentA嵌套FragmentB的问题
摘要:问题描述:在项目中ActivityA中嵌套FragmentB,FragmentB中再嵌套FragmentC,如图:问题1:在点击Activi...

问题描述:

在项目中Activity A中嵌套Fragment B,Fragment B中再嵌套Fragment C,如图:

Android中关于FragmentA嵌套FragmentB的问题1

问题1:在点击Activity A中主菜单1进行切换时,报错Fragment C already added。

解决:在Framgent B中添加Fragment C 调用add()时先判断fragmentC.isAdded()

FragmentManager fm=getActivity().getSupportFragmentManager(); FragmentTransaction ft=fm.beginTransaction(); if(!sub1Fragment.isAdded()){ ft.add(R.id.rl_fragment_container, sub1Fragment).commit(); }

问题2:修改后发现,Fragment C布局添加失败,同时切换主菜单2时,报错。

解决:这是Fragment的嵌套问题。FragmentB中的嵌套不能再用getActivity().getSupportFragmentManager();要用getChildFragmentManager();

即上面代码应改为:

FragmentManager fm=getChildFragmentManager(); FragmentTransaction ft=fm.beginTransaction(); if(!sub1Fragment.isAdded()){ ft.add(R.id.rl_fragment_container, sub1Fragment).commit(); }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。

【Android中关于FragmentA嵌套FragmentB的问题】相关文章:

在Android中动态添加Panel框架的实现代码

Android中父View和子view的点击事件处理问题探讨

android为按钮添加事件的三种方法

Android ellipsize的小问题介绍

Android 编程下字库的使用及注意事项

android4.0 获取手机IP地址的问题

Android上网获取网络上的图片方法

在Android中创建菜单项Menu以及获取手机分辨率的解决方法

Android中查看服务是否开启的工具类

Android 判断SIM卡属于哪个移动运营商的实现代码

精品推荐
分类导航