Maison  >  Article  >  Java  >  Comment conserver l'élément de liste en surbrillance et afficher les détails corrects dans Android ListView ?

Comment conserver l'élément de liste en surbrillance et afficher les détails corrects dans Android ListView ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-09 21:31:021044parcourir

How to Keep List Item Highlight and Display the Correct Details in Android ListView?

Comment conserver la surbrillance des éléments de liste dans Android ListView

Énoncé du problème

Dans une application Android, nous avons deux ListViews : l'une affiche une liste de clients (« t »), et l'autre affiche les détails du client sélectionné (« td »). Cependant, lorsqu'un client est sélectionné dans 't', la surbrillance disparaît et 'td' n'affiche pas les informations correctes.

Solution

Pour conserver la surbrillance de l'élément sélectionné et assurer 'td ' affiche les détails appropriés, nous pouvons utiliser les éléments suivants :

  1. Déclarer les attributs suivants dans les éléments XML ListView pertinents :

    android:choiceMode="singleChoice"
    android:listSelector="#666666"

    Cela permet la sélection d'un seul élément et applique une couleur d'arrière-plan à l'élément sélectionné.

  2. Définissez ces propriétés par programme dans votre code Java :

    listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
    listView.setSelector(R.drawable.selector_background); // You can specify a custom selector Drawable

Explication

  • android:choiceMode="singleChoice" permet de sélectionner un seul élément à la fois.
  • android:listSelector spécifie la couleur d'arrière-plan à utiliser appliqué à l'élément sélectionné.
  • listView.setSelector() et listView.setChoiceMode() vous permettent de définir par programme le sélecteur et le mode de choix, respectivement.

Notes supplémentaires

Il est important de noter que la manipulation directe de l'arrière-plan d'une vue, comme tenté dans votre approche originale, n'est pas recommandée. Lorsque la liste défile, les vues peuvent être réutilisées, entraînant des incohérences dans la mise en évidence et des mises à jour de données incorrectes. En utilisant les méthodes appropriées décrites ci-dessus, vous pouvez conserver la mise en surbrillance de l'élément sélectionné et garantir que « td » affiche des détails précis.

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