Rumah > Java > javaTutorial > teks badan

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

Barbara Streisand
Lepaskan: 2024-10-29 04:22:02
asal
1086 orang telah melayarinya

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

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

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

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

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

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

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!

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