Apabila melaksanakan berbilang reka letak dalam aplikasi Android, adalah penting untuk mengurus penambahan dan pengalihan keluar pandangan dengan cekap. Mesej ralat "Kanak-kanak yang ditentukan sudah mempunyai ibu bapa. Anda mesti memanggil removeView() pada ibu bapa kanak-kanak itu dahulu" timbul apabila elemen UI sebelum ini telah dilampirkan pada reka letak lain dan ditambahkan pada reka letak baharu tanpa pengendalian yang betul.
Perihalan Isu:
Dalam kod yang disediakan, TextView dan EditText sedang dilambungkan ke dalam reka letak kedua yang ditetapkan sebagai "ConsoleWindow." Semasa permohonan kedua reka letak ini, pengecualian ditemui semasa cuba menambah TextView pada reka letak baharu, mencetuskan mesej ralat.
Penyelesaian:
Untuk menyelesaikan isu ini, adalah penting untuk mengalih keluar TextView daripada induk sebelumnya (jika sudah dilampirkan) sebelum menambahkannya pada reka letak baharu. Mesej ralat secara jelas menasihati tindakan ini.
Coretan kod yang diperbetulkan:
<code class="java">// TEXTVIEW if (tv.getParent() != null) { ((ViewGroup) tv.getParent()).removeView(tv); // Fix } layout.addView(tv); // No longer causes an error on the second run // EDITTEXT</code>
Dengan menyemak sama ada TextView mempunyai induk sedia ada, kod ini memastikan ia dialih keluar dengan betul daripada reka letak sebelumnya sebelum ditambahkan pada yang baharu, menyelesaikan isu "ibu bapa sudah wujud".
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!