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.
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 :
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é.
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
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!