Maison > Java > javaDidacticiel > Comment personnaliser les éléments de ligne dans une liste Android : un guide étape par étape ?

Comment personnaliser les éléments de ligne dans une liste Android : un guide étape par étape ?

Barbara Streisand
Libérer: 2024-10-29 04:22:02
original
1158 Les gens l'ont consulté

How to Customize Row Items in an Android ListView: A Step-by-Step Guide?

Création d'éléments de ligne personnalisés pour une liste Android : un guide détaillé

Dans cet article, nous explorerons comment créer des éléments de ligne personnalisés pour un ListView dans une application Android.

Le défi

Nous avons un ListView qui nécessite des lignes avec la disposition suivante :

HEADER
Text
Copier après la connexion

Le Le texte "HEADER" reste statique, tandis que le contenu "Texte" change dynamiquement.

L'approche initiale

Au départ, nous avons essayé de remplir un tableau de chaînes, en le passant à un ArrayAdapter, et en le définissant à chaque fois que les données changeaient :

data_array = populateString();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,  data_array);
listView.setAdapter(adapter);
Copier après la connexion

Cependant, cette approche n'a pas fourni le résultat souhaité car la mise en page existante ne pouvait pas afficher les données dans le format spécifié.

La disposition des lignes personnalisée

Pour surmonter cette limitation, nous allons créer une disposition personnalisée pour les éléments de ligne :

row.xml :

<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

La mise en page XML principale

Ensuite, ajustez la mise en page 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" >
    </ListView>

</LinearLayout></code>
Copier après la connexion

L'adaptateur

On définit maintenant l'adaptateur :

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

    // ... (the adapter code) ...
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // ... (customizing view) ...
        TextView text = (TextView) vi.findViewById(R.id.text);
        text.setText(data[position]);
        return vi;
    }
}</code>
Copier après la connexion

L'activité Java

Enfin, dans l'activité Java :

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

    // ... (the activity code) ...
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // ... (setting up listview) ...
        listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" }));
    }
}</code>
Copier après la connexion

En suivant ces étapes, vous pouvez créer des éléments de ligne personnalisés pour un ListView, permettant plus de flexibilité et de personnalisation dans la présentation de vos données.

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