the documentation,有LinearLayout.addView(),但没有任何LinearLayout.replaceView()。

另一方面,存在LinearLayout.removeView()

将我自己的LinearLayout.replaceView()实现为两个简单的连续调用remove + add是否足够安全?即有注意事项吗?

public void replaceView(View oldView, View newView) {
   removeView(oldView);
   addView(newView);
}

最佳答案

尝试这个:

public void replaceView(final View oldView, final View newView) {
    addView(newView, indexOfChild(oldView));
    removeView(oldView);
}

10-08 09:23