레이아웃 간 전환 시頻繁, 예외가 발생할 수 있습니다: "지정된 하위에 이미 상위가 있습니다. RemoveView()를 호출해야 합니다. 먼저 자식의 부모에서."
이 오류는 보기(이 경우 TextView("tv"))가 이미 상위 보기 그룹(LinearLayout ")에 연결되어 있을 때 발생합니다. 레이아웃")을 새 레이아웃에 다시 추가하려고 할 때.
제공된 코드 조각은 Android의 레이아웃 전환 메커니즘을 보여줍니다. "ConsoleWindow()" 메서드가 처음 실행되면 레이아웃을 설정하고 "tv"를 "layout"에 문제 없이 추가합니다. 그러나 레이아웃을 빈 레이아웃으로 전환했다가 다시 원래 레이아웃으로 되돌리면 오류가 발생합니다.
오류 메시지는 적절한 해결 방법을 제안합니다. 새 상위에 추가하기 전에 현재 상위입니다. 이를 수행하려면:
<code class="java">// TEXTVIEW if(tv.getParent() != null) { ((ViewGroup)tv.getParent()).removeView(tv); // <- fix } layout.addView(tv);</code>
이 검사는 "tv"가 이미 다른 상위 뷰 그룹에 연결된 경우 새 레이아웃에 추가되기 전에 먼저 제거되어 첨부 문제를 해결하는지 확인합니다.
위 내용은 레이아웃을 전환할 때 내 Android 앱에서 \'지정된 하위 항목에 이미 상위 항목이 있습니다\'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!