Heim > Java > javaLernprogramm > Hauptteil

Wie erstelle ich ein benutzerdefiniertes Zeilenlayout mit einer statischen Kopfzeile und dynamischem Text in Android ListView?

DDD
Freigeben: 2024-11-02 00:41:31
Original
401 Leute haben es durchsucht

How to Create a Custom Row Layout with a Static Header and Dynamic Text in Android ListView?

Benutzerdefiniertes Android-Zeilenlayout für ListView

Beim Umgang mit einem ListView kann es erforderlich sein, das Layout seiner Zeilen anzupassen. In diesem Fall besteht das Ziel darin, Zeilen zu entwerfen, die aus zwei Komponenten bestehen: einem statischen „HEADER“ und einem „Text“, der sich dynamisch ändert.

Lösung

Zu erreichen Dazu wird in der Datei row.xml ein benutzerdefiniertes Zeilenlayout definiert. Dieses Layout enthält die beiden erforderlichen Elemente:

<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:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout></code>
Nach dem Login kopieren

Das Hauptaktivitätslayout (main.xml) wird aktualisiert, um die ListView einzuschließen, und der benutzerdefinierte Adapter (yourAdapter) wird implementiert:

<code class="xml"><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"
    />
</LinearLayout></code>
Nach dem Login kopieren
<code class="java">public class yourAdapter extends BaseAdapter {

    Context context;
    String[] data;
    private static LayoutInflater inflater = null;

    // ... (Constructor and methods as per the provided answer)
}</code>
Nach dem Login kopieren

Schließlich wird der Adapter in der Java-Aktivitätsklasse (StackActivity) auf die ListView eingestellt:

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

    ListView listview;

    // ... (Activity methods as per the provided answer)

    listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" }));
}</code>
Nach dem Login kopieren

Das Ergebnis ist eine ListView mit benutzerdefinierten Zeilen, die den statischen HEADER und den dynamischen Textinhalt anzeigen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich ein benutzerdefiniertes Zeilenlayout mit einer statischen Kopfzeile und dynamischem Text in Android ListView?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!