Heim  >  Artikel  >  Java  >  Wie erstelle ich benutzerdefinierte Zeilenelemente für eine ListView in Android mit einem statischen Header und dynamischem Text?

Wie erstelle ich benutzerdefinierte Zeilenelemente für eine ListView in Android mit einem statischen Header und dynamischem Text?

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 18:36:29235Durchsuche

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

Benutzerdefiniertes Zeilenelement für Android für ListView

Übersicht

In diesem Artikel wird gezeigt, wie Sie benutzerdefinierte Zeilenelemente für eine ListView in Android erstellen, damit Sie dies tun können Daten in bestimmten Formaten anzeigen.

Herausforderung

Das Ziel besteht darin, eine ListView zu erstellen, in der jede Zeile einem bestimmten Layout folgt:

HEADER
Text

Der HEADER sollte während der statisch bleiben Der Text ändert sich regelmäßig.

Lösung

1. Benutzerdefiniertes Layout-XML

Fügen Sie die folgende row.xml zu Ihrem Layout-Ordner hinzu:

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

2. Haupt-XML-Layout

Aktualisieren Sie Ihr Haupt-XML-Layout, um die ListView einzuschließen:

<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" />
    
</LinearLayout></code>

3. Benutzerdefinierter Adapter

Erstellen Sie eine benutzerdefinierte Adapterklasse, die BaseAdapter erweitert:

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

    // ... implementation details ...
}</code>

4. Java-Aktivität

In Ihrer Haupt-Java-Aktivität richten Sie die ListView und den Adapter ein:

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

    ListView listview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // ... implementation details ...
        listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" }));
    }
}</code>

Vorschau

Das Ergebnis ist eine ListView mit benutzerdefinierten Zeilenelementen Anzeige des gewünschten Layouts:

HEADER
Text

Das obige ist der detaillierte Inhalt vonWie erstelle ich benutzerdefinierte Zeilenelemente für eine ListView in Android mit einem statischen Header und dynamischem Text?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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