Rumah > Java > javaTutorial > teks badan

Mengapa Saya Mendapat Ralat \'Anak Yang Ditentukan Sudah Mempunyai Ibu Bapa\' dalam Android?

DDD
Lepaskan: 2024-10-30 13:51:27
asal
326 orang telah melayarinya

Why Am I Getting

Ralat: Anak Yang Ditentukan Sudah Ada Ibu Bapa (Android)

Masalah:

Kerap bertukar antara dua reka letak mengakibatkan ralat berikut:

FATAL EXCEPTION: main
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
Salin selepas log masuk

Coretan Kod:

<code class="java">tv = new TextView(getApplicationContext()); // initialized elsewhere
et = new EditText(getApplicationContext()); // initialized elsewhere

private void ConsoleWindow() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            // MY LAYOUT:
            setContentView(R.layout.activity_console);
            // LINEAR LAYOUT
            LinearLayout layout = new LinearLayout(getApplicationContext());
            layout.setOrientation(LinearLayout.VERTICAL);
            setContentView(layout);

            // TEXTVIEW
            layout.addView(tv); // ERROR IN THIS LINE DURING 2ND RUN
            // EDITTEXT
            et.setHint("Enter Command");
            layout.addView(et);
        }
    });
}</code>
Salin selepas log masuk

Penyelesaian:

Mesej ralat mencadangkan untuk mengalih keluar anak (TextView) daripada induk semasa sebelum menambahkannya pada reka letak baharu.

Tambah kod berikut sebelum susun atur.addView(tv);:

<code class="java">if (tv.getParent() != null) {
    ((ViewGroup) tv.getParent()).removeView(tv); // Fix
}</code>
Salin selepas log masuk

Ini memastikan TextView dialih keluar dengan betul daripada mana-mana induk sedia ada sebelum ditambahkan pada reka letak baharu, mengelakkan konflik induk yang ditentukan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Anak Yang Ditentukan Sudah Mempunyai Ibu Bapa\' dalam Android?. 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