Rumah  >  Artikel  >  Java  >  Bagaimana untuk Membetulkan Ralat \"Anak Yang Ditentukan Sudah Mempunyai Ibu Bapa\" dalam Android?

Bagaimana untuk Membetulkan Ralat \"Anak Yang Ditentukan Sudah Mempunyai Ibu Bapa\" dalam Android?

DDD
DDDasal
2024-10-31 21:20:02888semak imbas

How to Fix the

Android: Menangani Ralat "Anak Yang Ditentukan Sudah Ada Ibu Bapa"

Apabila cuba menukar antara reka letak berulang kali, anda mungkin menghadapi ralat menyatakan , "Anak yang ditentukan sudah mempunyai ibu bapa. Anda mesti memanggil removeView() pada ibu bapa kanak-kanak itu terlebih dahulu." Ini timbul apabila anda cuba menambah paparan pada reka letak tanpa mengalih keluarnya daripada induk sebelumnya.

Pencetus Ralat

Ralat biasanya berlaku apabila menukar antara reka letak yang mengandungi pandangan yang sama. Sebagai contoh, anda mungkin mempunyai TextView (tv) dalam kedua-dua susun atur. Apabila anda bertukar kepada reka letak kedua, ralat muncul apabila anda cuba menambah tv padanya semula tanpa mengalih keluarnya daripada reka letak pertama.

Kod Reka Letak

Reka letak anda kod, seperti yang diberikan dalam soalan, cuba menambah tv pada LinearLayout:

<code class="java">// TEXTVIEW
layout.addView(tv);</code>

Walau bagaimanapun, semasa larian berikutnya, tv sudah mempunyai induk (LinearLayout daripada susun atur sebelumnya), yang membawa kepada ralat.

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu mengalih keluar tv daripada induknya sebelum menambahkannya pada yang baharu. Ini boleh dicapai dengan:

<code class="java">// TEXTVIEW
if (tv.getParent() != null) {
    ((ViewGroup) tv.getParent()).removeView(tv); // <- fix
}
layout.addView(tv);</code>

Kod ini menyemak sama ada tv sudah mempunyai induk, dan jika ada, ia mengalih keluarnya daripada induk itu sebelum menambahkannya pada LinearLayout semasa.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \"Anak Yang Ditentukan Sudah Mempunyai Ibu Bapa\" dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn