将子视图添加到两个布局(多个父级)

时间:2013-09-06 21:34:21

标签: android view

我想将相同的视图添加到之前添加到另一个的新RelativeLayout。

 RelativeLayout1
   -- View1
   -- ScrollView
      -- Linear Layout2

我有一个视图添加到线性layout2,它被添加到scrollview。我想在View1的位置将相同的子视图添加到RelativeLayout1。

我以这种方式添加视图,

MyCustomScrollView scrollView = new MyCustomScrollView(context);
  layout2 = new LinearLayout(context);

  for(int i=0;i<10;i++)
     layout2.addView(list.get(i));

  scrollView,add(layout2);
  relativeLayout1.addView(scrollView);

现在我想在View1的位置将相同的视图添加到RelativeLayout1

 RelativeLayout1.remove(view1);
 RelativeLayout1.addView(list.get(0),0);



Causes 

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
    at android.view.ViewGroup.addViewInner(ViewGroup.java:2062)
    at android.view.ViewGroup.addView(ViewGroup.java:1957)
    at android.view.ViewGroup.addView(ViewGroup.java:1914)

1 个答案:

答案 0 :(得分:6)

View不能是两个ViewGroup父母的孩子。

随意克隆View并将克隆添加到第二个父级。