Accéder à chacun des items d'un listview

MGD Software Messages postés 186 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 23 avril 2022 - 12 nov. 2020 à 15:48
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 22 janv. 2021 à 11:48
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.


3 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
Modifié le 18 janv. 2021 à 08:31
Salut,

Plusieurs solutions: ICI

0
MGD Software Messages postés 186 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 23 avril 2022 2
20 janv. 2021 à 15:55
Merci, mais ce lien explique comment colorer l'item sélectionné. Comme je l'ai dit, çà, je sais le faire.
Mais lorsque l'on clique sur l'item à colorer, le précédent n'est plus sélectionné. Le problème est donc d'accéder à chacun des items de la liste par itération et détection de couleur, pour le changer de couleur.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
22 janv. 2021 à 11:48
Salut,

Je sais bien... mais il y a également différentes propositions pour restaurer la couleur d'un item désélectionné.

0
Rejoignez-nous