2012-04-20 6 views
0

私は(プログラムで作成された)親LinearLayout parent1を持っていて、parent1.addView(childA);で(プログラムで作成された)childAレイアウトを追加してから、いくつかの複雑な方法でchildAを設定します。これで、後で何とかchild1内の情報を壊さずにparent1からリンクを解除して、parent2.addView(childA)を使って再利用できるようにすることができますか?子レイアウトを再利用できますか?

答えて

2

はい、できます。

前の親から削除する前に別のビューに追加しないようにする必要があります。

EDIT:ビューを追加するとき

// assuming a previously defined childA view 
View childA; 

parent1.removeView(childA); 
parent2.addView(childA); 
+0

"削除"はどのように行われますか?私はいくつかの機能を実行する必要がありますか? – Mick

+0

はい、removeView。例を加えて、うまくいきましょう! – jcxavier

0

あなたはインデックスを提供する場合、あなたは後でそれを取り戻すことができます:両親のどちらかでなければならないことも

int index = // whatever 
parent1.addView(childA, index); 
... 
View child = parent1.getViewAt(index); 
parent1.removeViewAt(index); 
... 
parent2.addView(child, index2); 

注意同じ種類のビューグループまたは子ビューのlayoutParamsを新しい親の適切なタイプに変更する必要があります

関連する問題