Maison  >  Article  >  Java  >  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
Linda Hamiltonoriginal
2024-10-29 10:58:29458parcourir

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>

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>

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>

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>

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