0

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

4

2 に答える 2

2

はい、できます!

前の親から削除する前に、別のビューに追加しないことを保証する必要があるだけです。

編集

// assuming a previously defined childA view
View childA;

parent1.removeView(childA);
parent2.addView(childA);
于 2012-04-20T17:05:01.930 に答える
0

ビューを追加するときにインデックスを指定すると、後で元に戻すことができます。

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

また、2つの親は同じタイプのビューグループである必要があるか、子ビューのlayoutParamsを新しい親の適切なタイプに変更する必要があることにも注意してください。

于 2012-04-20T17:07:02.570 に答える