当前位置: 移动技术网 > 移动技术>移动开发>Android > Android中关于FragmentA嵌套FragmentB的问题

Android中关于FragmentA嵌套FragmentB的问题

2019年07月24日  | 移动技术网移动技术  | 我要评论

问题描述:

在项目中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(); 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网