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