>Java >java지도 시간 >레이아웃을 전환할 때 내 Android 앱에서 \'지정된 하위 항목에 이미 상위 항목이 있습니다\'가 발생하는 이유는 무엇입니까?

레이아웃을 전환할 때 내 Android 앱에서 \'지정된 하위 항목에 이미 상위 항목이 있습니다\'가 발생하는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-29 22:26:30496검색

Why Does My Android App Throw

Android의 하위 보기 첨부 오류

레이아웃 간 전환 시頻繁, 예외가 발생할 수 있습니다: "지정된 하위에 이미 상위가 있습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.