Rumah > Java > javaTutorial > 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
Lepaskan: 2024-10-26 05:53:03
asal
336 orang telah melayarinya

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>
Salin selepas log masuk

Walau bagaimanapun, kod ini menghasilkan pengecualian ClassCastException:

java.lang.ClassCastException: android.widget.TextView
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan