指定的孩子已经有父母

时间:2014-10-22 06:39:04

标签: java android dialog fragment

我目前正在两个对话片段之间传递数据。每当对话框片段2完成时。它将数据传递给对话框片段1.这里是对话框片段1的方法,它实现了在对话框片段2中创建的接口。

对话片段1

@Override
public void updateContributor(ArrayList<View> imageView) {
    System.out.println("Contributors received from contributer's fragment: " + imageView);
    for ( View child : imageView)
    {
        if (child instanceof ImageView) {
            ImageView childImageView = (ImageView) child;
            ll_contributor_list.addView(childImageView);
        }
    }
}

对话片段2

MusicRecorderFragment fragment = (MusicRecorderFragment) getFragmentManager().findFragmentByTag("record_fragment");


            ArrayList<View> views = getAllChildren(ll);

            /*setArguments(args);*/
            fragment.updateContributor(views);
            getDialog().dismiss();

java.lang.IllegalStateException:指定的子级已有父级。您必须先在孩子的父母身上调用removeView()。

1 个答案:

答案 0 :(得分:0)

您收到此异常是因为您的视图已添加到某些布局中,并且您尝试将其再次添加到参与者列表中,我猜这是一个布局。 (ll_contributor_list.addView(childImageView);

尝试收集数据并在其他片段上重新创建视图,而不是尝试将已添加的视图添加到另一个布局。