Android中关于FragmentA嵌套FragmentB的问题
程序员文章站
2024-03-07 20:53:15
问题描述:
在项目中activity a中嵌套fragment b,fragment b中再嵌套fragment c,如图:
问题1:在点击activity a中主...
问题描述:
在项目中activity a中嵌套fragment b,fragment b中再嵌套fragment c,如图:
问题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中ListView嵌套GridView的问题
-
Android中关于FragmentA嵌套FragmentB的问题
-
Android中Fragment多层嵌套时onActivityResult无法正确回调问题的解决方法
-
Android中Fragment多层嵌套时onActivityResult无法正确回调问题的解决方法
-
浅谈Android中关于静态变量(static)的使用问题
-
Android解决ScrollView下嵌套ListView和GridView中内容显示不全的问题
-
Android关于WebView中无法定位的问题解决
-
Android关于WebView中无法定位的问题解决
-
adb不是内部或外部命令,关于Android Studio中ADB命令不能用问题的解决办法