Change la couleur de fond d'un élément dans Android ListActivity onListItemClick

Je sais que cela semble très simple, et il y a des questions à ce sujet. Mais rien de tout cela pourrait résoudre mon problème. Donc, ici, nous allons:

Je veux changer la couleur d'arrière-plan d'un élément de liste dans ListActivity lorsque l'utilisateur clique sur elle, et de revenir à la couleur d'origine lorsque l'utilisateur clique à nouveau (c'est à dire Sélectionner/Désélectionner l'élément de tri de look)

J'ai essayé d'utiliser getChildAt, il fonctionne parfaitement, si j'ai tous les éléments visibles à l'écran sans avoir à faire défiler.

Code:

getListView().getChildAt(position).setBackgroundColor(Color.CYAN);

Le problème commence quand j'ai plus d'éléments dans la liste et l'utilisateur doit les faire défiler. Une fois à l'arrière-plan d'un élément est modifié, La couleur d'arrière-plan s'affiche sur les nouveaux éléments visibles comme je le défilement. Aussi, le getChildAt(position) retourne null (et donc un NullPointerException) en cliquant à nouveau sur l'élément.

Quelqu'un peut m'aider avec un code simple qui me permet de changer la couleur de fond d'un élément de la liste?

Merci d'avance!

Je pense que ce sujet va vous aider à le faire. stackoverflow.com/questions/2217753/...

OriginalL'auteur Suraj Bajaj | 2012-09-26