Accéder à chacun des items d'un listview

Signaler
Messages postés
185
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
12 novembre 2020
-
Bonjour,

Dans un listview, sur le clic d'un item, je souhaite colorer cet item. Ça, ça fonctionne.
Problème : lorsqu'on clique sur un autre item, je ne sais pas décolorer le premier.
J'ai essayé avec un boucle d'accéder à chaque item, mais ça ne fonctionne pas.
Je n'arrive pas à accéder à l'item n du listview.
Il doit bien y avoir une fonction du genre View v = MonListview.getItem(i) qui ramène une vue, à l'instar du paramètre view de la fonction OnItemClick(i).
Quelqu'un connait-il la solution ?
Voici le code de l'adaptateur OnItemClick (qui ne fonctionne pas, GetView n'existe pas)
private final AdapterView.OnItemClickListener lvwFrames_Click = new AdapterView.OnItemClickListener(){
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        SetAddMode( false );
        InputLayout.setVisibility( View.GONE );
        for(int i = 0; i < lvwFrameList.getCount(); i++) {
            View v = (View)lvwFrameList.getView(i);
            v.setBackgroundColor( 0xFFFFFFFF );
        }
        view.setBackgroundColor( SelColor );
    }
};


Merci.

Note : je voudrais éviter de mémoriser l'item coloré, c'est une méthode qui me paraît pas propre et sujette à problème en cas de désynchronisation. De plus, les vues d'un listview étant créées de façon dynamique, je ne suis pas sûr de retomber sur la bonne.