Maison >Java >javaDidacticiel >Comment créer des éléments de ligne personnalisés pour un ListView sous Android avec un en-tête statique et un texte dynamique ?

Comment créer des éléments de ligne personnalisés pour un ListView sous Android avec un en-tête statique et un texte dynamique ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 18:36:29316parcourir

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

Élément de ligne personnalisé Android pour ListView

Présentation

Cet article montrera comment créer des éléments de ligne personnalisés pour un ListView dans Android, vous permettant de afficher les données dans des formats spécifiques.

Défi

Le but est de créer une ListView où chaque ligne suit une disposition particulière :

HEADER
Text

Le HEADER doit rester statique tandis que le Le texte changera périodiquement.

Solution

1. XML de mise en page personnalisée

Ajoutez le fichier row.xml suivant à 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:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    
</LinearLayout></code>

2. Disposition XML principale

Mettez à jour votre disposition XML principale pour inclure 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" />
    
</LinearLayout></code>

3. Adaptateur personnalisé

Créez une classe d'adaptateur personnalisée qui étend BaseAdapter :

<code class="java">class yourAdapter extends BaseAdapter {

    // ... implementation details ...
}</code>

4. Activité Java

Dans votre activité Java principale, configurez ListView et l'adaptateur :

<code class="java">public class StackActivity extends Activity {

    ListView listview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // ... implementation details ...
        listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" }));
    }
}</code>

Aperçu

Le résultat sera un ListView avec des éléments de ligne personnalisés affichant la mise en page souhaitée :

HEADER
Text

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