Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mencipta ListView dengan Pengepala Statik dan Teks Dinamik dalam Setiap Baris?

Bagaimana untuk Mencipta ListView dengan Pengepala Statik dan Teks Dinamik dalam Setiap Baris?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 07:16:30504semak imbas

How to Create a ListView with a Static Header and Dynamic Text in Each Row?

Menyesuaikan Reka Letak Baris ListView dengan Pengepala Statik dan Teks Dinamik

Soalan ini berkenaan dengan penyesuaian susun atur baris ListView untuk memasukkan pengepala statik dan secara dinamik menukar teks. Penanya telah mencipta ListView dengan data yang diisi daripada tatasusunan String menggunakan ArrayAdapter, tetapi mereka menghadapi kesukaran untuk memaparkan format reka letak yang dikehendaki.

Penyelesaian:

Untuk mencapai susun atur yang ditentukan, ikut langkah berikut:

  1. Buat susun atur baris tersuai (row.xml) dengan dua TextViews: satu untuk pengepala statik dan satu lagi untuk teks dinamik.
  2. Tentukan RelativeLayout untuk susun atur XML aktiviti utama untuk memasukkan ListView.
  3. Laksanakan tersuai penyesuai yang mengembang susun atur baris dan menetapkan data dengan sewajarnya.

Kelas penyesuai termasuk kaedah seperti getCount(), getItem(), getItemId(), dan getView(), yang mengendalikan pengendalian data dan penciptaan paparan.

  1. Dalam kaedah onCreate() aktiviti, tetapkan penyesuai kepada ListView.

Ini contohnya pelaksanaan:

row.xml:

<code class="xml"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Header" />

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/text" />
</LinearLayout></code>

utama.xml:

<code class="xml"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <ListView
        android:id="@+id/listview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ListView>

</LinearLayout></code>

Tersuai Penyesuai:

<code class="java">class yourAdapter extends BaseAdapter {

    ...

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View vi = convertView;
        if (vi == null)
            vi = inflater.inflate(R.layout.row, null);
        TextView text = (TextView) vi.findViewById(R.id.text);
        text.setText(data[position]);
        return vi;
    }
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Mencipta ListView dengan Pengepala Statik dan Teks Dinamik dalam Setiap Baris?. 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