android fragment 嵌套,Android中Fragment的嵌套问题

答:hackbod

(最佳答案)

这种异常是嵌套片段(nested fragment)与系统版本不相容导致的,而嵌套片段通常支持Android4.2。一个fragment的UI中嵌套另一个fragment,极有可能会造成程序运作异常。

注:嵌套片段只能在动态添加的操作中完成,也就是说,当layout中已经包含了一个,就不能将再将这个layout嵌入到fragment中。

答:furykid

你可以用destroyview的方法清理parent fragment中的嵌套片段:

@Override

public void onDestroyView() {

try{

FragmentTransaction transaction = getSupportFragmentManager()

.beginTransaction();

transaction.remove(nestedFragment);

transaction.commit();

}catch(Exception e){

}

super.onDestroyView();

}

答:Reneez

你可以用ViewPager来添加进更多的fragment。目前, Android Support Library可以支持嵌套片段,所以你可以在Android 1.6及以上版本进行嵌套操作。只要调用Fragment中的getChildFragmentManager()命令,就可以完成添加操作。例如,下述代码就可以完成在现有的Fragment class中添加fragment的操作:

Fragment videoFragment = new VideoPlayerFragment();

FragmentTransaction transaction = getChildFragmentManager().beginTransaction();

transaction.add(R.id.video_fragment, videoFragment).commit();

答:draksia

我在开发应用的过程中,也遇到过类似的问题,所以我用Linearlayout替换了xml文件中所有的fragment,然后在测试的环境下,用Fragment manager/ fragment transaction,对所有fragment逐一排查,最后程序可以正常运作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值