You must call removeView() on the child's parent first错误!

在切换Fragement的时候出现:错误信息

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

前面已经提到:

LayoutInflater的inflate() 三参方法的第三个参数指示在加载期间,展开的layout是否应当附着到ViewGroup (第二个参数)。传入true会在最后的layout中创建一个多余的view group。
Fragment简单入门
所以使用使用两个参数的时候会报上述错误。
需要最后一个参数为false.

public class FragmentA extends Fragment {

    /**
     *
     * @param inflater  加载fragment的xml布局文件的填充器。其inflate方法可将布局文件转化成View对象
     * @param container 你的fragment layout将要插入的父ViewGroup(来自activity的layout)。
     * @param savedInstanceState 是一个Bundle,如果fragment是被销毁后恢复的,它提供关于fragment的之前的实例的数据()。
     * @return  返回一个View类型的对象
     */
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {

        return inflater.inflate(R.layout.fragment_a,container,false);
        //第一个参数,是要填充那个。第二个参数是要填充到哪里。可以直接写,传来的父ViewGroup
            //如果第三个参数不写false切换fragment的时候报错误。
       /* You must call removeView() on the child's parent first*/

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值