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

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

DDD
풀어 주다: 2024-10-29 22:26:30
원래의
556명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿