Maison > Java > javaDidacticiel > Comment créer une ListView avec des éléments de ligne personnalisés et un texte changeant dynamiquement dans Android ?

Comment créer une ListView avec des éléments de ligne personnalisés et un texte changeant dynamiquement dans Android ?

Linda Hamilton
Libérer: 2024-10-29 10:58:29
original
551 Les gens l'ont consulté

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

Personnaliser l'élément de ligne ListView dans Android

La tâche à accomplir consiste à créer un ListView avec des lignes affichant un en-tête suivi d'une modification du texte. Pour y parvenir, suivez les étapes décrites ci-dessous :

Mise en page personnalisée pour l'élément de ligne :

  • Créez une mise en page de ligne personnalisée nommée « row.xml » dans votre dossier de mise en page :
<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>
Copier après la connexion

Mise en page XML principale :

  • Mettez à jour votre mise en page XML principale pour inclure une ListView :
<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>
Copier après la connexion

Classe d'adaptateur personnalisée :

  • Créez une classe d'adaptateur personnalisée qui étend BaseAdapter :
<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>
Copier après la connexion

Java Activité :

  • Dans votre activité Java, configurez ListView et l'adaptateur :
<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>
Copier après la connexion

Cette approche donnera lieu à un ListView avec des éléments de ligne personnalisés affichant le texte "En-tête" au-dessus du texte dynamique qui est mis à jour périodiquement.

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal