我想将相同的视图添加到之前添加到另一个的新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)
答案 0 :(得分:6)
View
不能是两个ViewGroup
父母的孩子。
随意克隆View
并将克隆添加到第二个父级。