Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menyesuaikan Item Baris dalam Android ListView: Panduan Langkah demi Langkah?

Bagaimana untuk Menyesuaikan Item Baris dalam Android ListView: Panduan Langkah demi Langkah?

Barbara Streisand
Barbara Streisandasal
2024-10-29 04:22:02987semak imbas

How to Customize Row Items in an Android ListView: A Step-by-Step Guide?

Membuat Item Baris Tersuai untuk Paparan Senarai Android: Panduan Terperinci

Dalam artikel ini, kami akan meneroka cara membuat item baris tersuai untuk ListView dalam aplikasi Android.

Cabaran

Kami mempunyai ListView yang memerlukan baris dengan reka letak berikut:

HEADER
Text

The Teks "HEADER" kekal statik, manakala kandungan "Teks" berubah secara dinamik.

Pendekatan Awal

Pada mulanya, kami cuba mengisi tatasusunan Rentetan, menghantarnya ke ArrayAdapter, dan menetapkannya setiap kali data berubah:

data_array = populateString();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,  data_array);
listView.setAdapter(adapter);

Walau bagaimanapun, pendekatan ini tidak memberikan hasil yang diingini kerana reka letak sedia ada tidak dapat memaparkan data dalam format yang ditentukan.

Reka Letak Baris Tersuai

Untuk mengatasi had ini, kami akan membuat reka letak tersuai untuk item baris:

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>

Reka Letak XML Utama

Seterusnya, laraskan susun atur XML utama untuk memasukkan ListView:

<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>

Penyesuai

Kami kini mentakrifkan penyesuai:

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

    // ... (the adapter code) ...
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // ... (customizing view) ...
        TextView text = (TextView) vi.findViewById(R.id.text);
        text.setText(data[position]);
        return vi;
    }
}</code>

Aktiviti Java

Akhir sekali, dalam aktiviti Java:

<code class="java">public class StackActivity extends Activity {

    // ... (the activity code) ...
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // ... (setting up listview) ...
        listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" }));
    }
}</code>

Dengan mengikuti langkah-langkah ini, anda boleh membuat item baris tersuai untuk ListView, membenarkan lebih fleksibiliti dan penyesuaian dalam pembentangan data anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Item Baris dalam Android ListView: Panduan Langkah demi Langkah?. 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