Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menambah TextView dengan betul ke LinearLayout Secara Pemrograman dalam Android?

Bagaimana untuk Menambah TextView dengan betul ke LinearLayout Secara Pemrograman dalam Android?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 05:53:03248semak imbas

How to Correctly Add a TextView to a LinearLayout Programmatically in Android?

Menambah TextView pada LinearLayout Secara Pengaturcaraan dalam Android

Dalam pembangunan Android, selalunya perlu menambah paparan secara dinamik pada reka letak yang ditakrifkan dalam fail XML. Artikel ini meneroka proses menambah TextView pada LinearLayout yang dipratakrifkan dalam kod.

Masalah:

Pengguna cuba menambah TextView pada LinearLayout yang ditakrifkan dalam XML menggunakan kod berikut:

<code class="xml">View linearLayout = findViewById(R.id.info);
TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LayoutParams(
        LayoutParams.FILL_PARENT,
        LayoutParams.WRAP_CONTENT));

((LinearLayout) linearLayout).addView(valueTV);</code>

Walau bagaimanapun, kod ini menghasilkan pengecualian ClassCastException:

java.lang.ClassCastException: android.widget.TextView

Penyelesaian:

Ralat berlaku disebabkan oleh hantaran pembolehubah linearLayout yang salah. Untuk mengakses LinearLayout, ia harus dipancarkan sebagai LinearLayout secara eksplisit:

<code class="xml">LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info);
...
linearLayout.addView(valueTV);</code>

Selain itu, tika LayoutParams hendaklah dibuat menggunakan LinearLayout.LayoutParams dan bukannya LayoutParams.

Kod Dibetulkan :

<code class="xml">LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info);

TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT));

linearLayout.addView(valueTV);</code>

Dengan membuat perubahan ini, TextView akan berjaya ditambahkan pada LinearLayout.

Atas ialah kandungan terperinci Bagaimana untuk Menambah TextView dengan betul ke LinearLayout Secara Pemrograman 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