Heim > Java > javaLernprogramm > So passen Sie Zeilenelemente in einer Android-ListView an: Eine Schritt-für-Schritt-Anleitung?

So passen Sie Zeilenelemente in einer Android-ListView an: Eine Schritt-für-Schritt-Anleitung?

Barbara Streisand
Freigeben: 2024-10-29 04:22:02
Original
1089 Leute haben es durchsucht

How to Customize Row Items in an Android ListView: A Step-by-Step Guide?

Erstellen benutzerdefinierter Zeilenelemente für eine Android-ListView: Eine detaillierte Anleitung

In diesem Artikel erfahren Sie, wie Sie benutzerdefinierte Zeilenelemente erstellen für eine ListView in einer Android-Anwendung.

Die Herausforderung

Wir haben eine ListView, die Zeilen mit dem folgenden Layout erfordert:

HEADER
Text
Nach dem Login kopieren

Die „HEADER“-Text bleibt statisch, während sich der „Text“-Inhalt dynamisch ändert.

Der anfängliche Ansatz

Zunächst haben wir versucht, ein String-Array zu füllen und es an ein zu übergeben ArrayAdapter und dessen Festlegung bei jeder Datenänderung:

data_array = populateString();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,  data_array);
listView.setAdapter(adapter);
Nach dem Login kopieren

Dieser Ansatz lieferte jedoch nicht das gewünschte Ergebnis, da das vorhandene Layout die Daten nicht im angegebenen Format anzeigen konnte.

Das benutzerdefinierte Zeilenlayout

Um diese Einschränkung zu überwinden, erstellen wir ein benutzerdefiniertes Layout für die Zeilenelemente:

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>
Nach dem Login kopieren

Das Haupt-XML-Layout

Als nächstes passen Sie das Haupt-XML-Layout an, 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" >
    </ListView>

</LinearLayout></code>
Nach dem Login kopieren

Der Adapter

Wir definieren nun den Adapter:

<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>
Nach dem Login kopieren

Die Java-Aktivität

Zuletzt in der Java-Aktivität:

<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>
Nach dem Login kopieren

Indem Sie diese Schritte befolgen, können Sie benutzerdefinierte Zeilenelemente für eine ListView erstellen, was mehr Flexibilität und Anpassung bei der Darstellung Ihrer Daten ermöglicht.

Das obige ist der detaillierte Inhalt vonSo passen Sie Zeilenelemente in einer Android-ListView an: Eine Schritt-für-Schritt-Anleitung?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage