Maison  >  Article  >  Java  >  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
DDDoriginal
2024-11-02 00:41:31396parcourir

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>

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

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>

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!

Déclaration:
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