第一季

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在将一个fragment替换到一个frameLayout的时候报错:

code: transaction.replace(R.id.fragment_container, fragment2);

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

 

原因:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

   //View newsView = inflater.inflate(R.layout.fragment_news, container);
        View newsView = inflater.inflate(R.layout.fragment_news, container,false);
        return newsView;
    }

 

出现此错误的根本问题是当前VIEW已经在别的View中,作为别的子View,现在又要将当前VIEW放在别的View中,就会抛出这类错误信息。

 

相同问题的其他文章:

http://www.cnblogs.com/shenbin/archive/2012/03/15/2398209.html

http://www.cnblogs.com/over140/archive/2013/06/06/3121354.html

posted on 2014-07-20 23:21  第一季  阅读(1626)  评论(0编辑  收藏  举报