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
Lepaskan: 2024-10-29 22:26:30
asal
573 orang telah melayarinya

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); // <- fix
}
layout.addView(tv);</code>
Salin selepas log masuk

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.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan