Maison > Java > javaDidacticiel > Comment créer une disposition de ligne personnalisée avec un en-tête statique et un texte dynamique dans Android ListView ?

Comment créer une disposition de ligne personnalisée avec un en-tête statique et un texte dynamique dans Android ListView ?

DDD
Libérer: 2024-11-02 00:41:31
original
494 Les gens l'ont consulté

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

Disposition des lignes personnalisée Android pour ListView

Lorsque vous utilisez un ListView, il peut être nécessaire de personnaliser la disposition de ses lignes. Dans ce cas, l'objectif est de concevoir des lignes composées de deux composants : un "HEADER" statique et un "Texte" qui change dynamiquement.

Solution

Pour y parvenir Ceci, une disposition de lignes personnalisée est définie dans le fichier row.xml. Cette mise en page comprend les deux éléments requis :

<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>
Copier après la connexion

La mise en page de l'activité principale (main.xml) est mise à jour pour inclure ListView, et l'adaptateur personnalisé (yourAdapter) est implémenté :

<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>
Copier après la connexion
<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>
Copier après la connexion

Enfin, dans la classe d'activité Java (StackActivity), l'adaptateur est défini sur ListView :

<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>
Copier après la connexion

Le résultat est un ListView avec des lignes personnalisées affichant l'EN-TÊTE statique et le contenu texte dynamique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal