Rumah >Java >javaTutorial >Mengapa Apl Android Saya Melemparkan \'Anak yang ditentukan sudah mempunyai ibu bapa\' Apabila Menukar Reka Letak?

Mengapa Apl Android Saya Melemparkan \'Anak yang ditentukan sudah mempunyai ibu bapa\' Apabila Menukar Reka Letak?

DDD
DDDasal
2024-10-29 22:26:30629semak imbas

Why Does My Android App Throw

Ralat Lampiran Paparan Kanak-kanak dalam Android

Apabila bertukar antara reka letak頻繁, pengecualian mungkin timbul: "Anak yang dinyatakan sudah mempunyai ibu bapa. Anda mesti memanggil removeView() pada ibu bapa kanak-kanak dahulu."

Punca:

Ralat ini berlaku apabila paparan, dalam kes ini TextView ("tv"), sudah dilampirkan pada kumpulan paparan ibu bapa (LinearLayout " reka letak") apabila cuba menambahkannya semula pada reka letak baharu.

Konteks:

Coretan kod yang disediakan menunjukkan mekanisme penukaran reka letak dalam Android. Apabila kaedah "ConsoleWindow()" dilaksanakan pada mulanya, ia menetapkan reka letak dan menambah "tv" pada "susun atur" tanpa masalah. Walau bagaimanapun, apabila susun atur ditukar kepada susun atur kosong dan kemudian kembali ke susun atur asal, ralat dilemparkan.

Penyelesaian:

Mesej ralat mencadangkan penyelesaian yang sesuai: mengalih keluar paparan daripada induk semasa sebelum menambahkannya pada induk baharu. Untuk mencapai ini:

<code class="java">// TEXTVIEW
if(tv.getParent() != null) {
    ((ViewGroup)tv.getParent()).removeView(tv); // <p>Semakan ini memastikan bahawa jika "tv" sudah dilampirkan pada kumpulan paparan ibu bapa yang lain, ia dialih keluar terlebih dahulu sebelum ditambahkan pada reka letak baharu, menyelesaikan isu lampiran.</p></code>

Atas ialah kandungan terperinci Mengapa Apl Android Saya Melemparkan \'Anak yang ditentukan sudah mempunyai ibu bapa\' Apabila Menukar Reka Letak?. 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