看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);
}