Как реализовать LinearLayout.replaceView () - или ViewGroup.replaceView () в целом - PullRequest
1 голос
/ 11 мая 2011

Глядя на документацию , есть LinearLayout.addView (), но нет никакого LinearLayout.replaceView ().

С другой стороны, есть LinearLayout.removeView () .

Достаточно ли безопасна реализация моего собственного LinearLayout.replaceView () в виде двух простых последовательных вызовов для удаления + добавления? то есть есть ли предостережения для наблюдения?

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

1 Ответ

3 голосов
/ 11 мая 2011

Попробуйте это:

public void replaceView(final View oldView, final View newView) {
    addView(newView, indexOfChild(oldView));
    removeView(oldView);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...