Heim  >  Artikel  >  Java  >  Wie erstelle ich eine ListView mit benutzerdefinierten Zeilenelementen und dynamisch änderndem Text in Android?

Wie erstelle ich eine ListView mit benutzerdefinierten Zeilenelementen und dynamisch änderndem Text in Android?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 10:58:29457Durchsuche

How to Create a ListView with Custom Row Items and Dynamically Changing Text in Android?

ListView-Zeilenelement in Android anpassen

Die vorliegende Aufgabe besteht darin, eine ListView mit Zeilen zu erstellen, die eine Überschrift anzeigen und anschließend den Text ändern. Um dies zu erreichen, befolgen Sie die unten beschriebenen Schritte:

Benutzerdefiniertes Layout für Zeilenelement:

  • Erstellen Sie ein benutzerdefiniertes Zeilenlayout mit dem Namen „row.xml“ in Ihrem Layoutordner:
<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>

Haupt-XML-Layout:

  • Aktualisieren Sie Ihr Haupt-XML-Layout, um eine 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">
    </ListView>
</LinearLayout></code>

Benutzerdefinierte Adapterklasse:

  • Erstellen Sie eine benutzerdefinierte Adapterklasse, die BaseAdapter erweitert:
<code class="java">class yourAdapter extends BaseAdapter {

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

    public yourAdapter(Context context, String[] data) {
        this.context = context;
        this.data = data;
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    // ... Implement other methods as required by BaseAdapter
    // such as getView(), getCount(), getItem(), getItemId()

}</code>

Java Aktivität:

  • Richten Sie in Ihrer Java-Aktivität die ListView und den Adapter ein:
<code class="java">public class StackActivity extends Activity {

    ListView listview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        listview = (ListView) findViewById(R.id.listview);
        listview.setAdapter(new yourAdapter(this, new String[] { "data1",
                "data2" }));
    }
}</code>

Dieser Ansatz führt zu einer ListView mit der Anzeige benutzerdefinierter Zeilenelemente der „Kopfzeilen“-Text über dem dynamischen Text, der regelmäßig aktualisiert wird.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine ListView mit benutzerdefinierten Zeilenelementen und dynamisch änderndem Text in Android?. 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