Maison >Java >javaDidacticiel >Comment garder l'élément sélectionné ListView en surbrillance dans Android ?

Comment garder l'élément sélectionné ListView en surbrillance dans Android ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-07 06:03:03498parcourir

How to Keep ListView Selected Item Highlighted in Android?

Garder l'élément sélectionné dans ListView en surbrillance dans Android

Dans le développement Android, il est souvent souhaitable de mettre en surbrillance l'élément sélectionné dans un ListView tout en affichant les détails de l’élément sélectionné dans un ListView séparé. Cet article aborde un problème courant lié à ce scénario.

Problème :

Lorsqu'un utilisateur sélectionne un élément dans un ListView (lv_cli), les détails du client sélectionné doit être affiché dans un ListView séparé (lv_cli_det). Cependant, ce faisant, l'élément sélectionné par l'utilisateur dans lv_cli perd sa surbrillance.

Solution :

La solution réside dans l'utilisation de l'attribut android:choiceMode="singleChoice" dans la mise en page XML. Cet attribut spécifie le comportement de sélection du ListView, permettant de sélectionner un seul élément à la fois. L'arrière-plan de l'élément sélectionné sera automatiquement mis en surbrillance à l'aide de l'attribut android:listSelector="#666666".

Code :

<ListView
    android:id="@+id/cli_lista"
    android:layout_width="512dp"
    android:layout_height="wrap_content"
    android:fadeScrollbars="false"
    android:choiceMode="singleChoice"
    android:listSelector="@color/my_selector" >
</ListView>

Vous pouvez également définir ces attributs par programme en utilisant les méthodes setSelector() et setChoiceMode() de la classe ListView.

En utilisant cette approche, l'élément sélectionné dans lv_cli restera en surbrillance tandis que les détails du client sélectionné sont affichés dans lv_cli_det.

Remarque importante :

Il est important d'éviter de gérer les arrière-plans d'affichage directement en réponse aux événements onItemClick. Étant donné que les vues sont des objets temporaires, cette approche peut conduire à un comportement imprévisible lorsque les éléments défilent hors de la vue et sont réutilisés.

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