J'ai développé une application dont une des activités est :

Nom : image.png
Affichages : 153
Taille : 86,7 Ko

La liste affichée est basée sur un RecyclerView.
Comme vous pouvez le voir, la 3ème ligne, de couleur verte (à droite), signifie qu'une mise en jour a été effectuée.
Lorsque l'on appuie sur le FAB (en bas), l'application envoie les données vers le serveur afin de mettre à jour la base de données.
Je souhaite alors changer la couleur verte en couleur rouge afin de montrer que la base de données en identique à ce qui est présenté.
C'est cela que je n'arrive pas à faire.
Ci après le code associé à la méthode onClick de mon FAB.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
        pFloatingActionButtonMaj.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                pProgressBar.setVisibility(View.VISIBLE);
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        final ArrayList<PresenceRandonnee> lListePresenceRandonnee;
                        lListePresenceRandonnee = pItemRecyclerViewAdapter.lireListePresenceRandonnee();
                        for (int i=0;i < lListePresenceRandonnee.size();i++) {
                            final int i_final = i;
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    pProgressBar.setProgress(100 * (i_final+1) / lListePresenceRandonnee.size());
                                }
                            });
                            PresenceRandonnee lPresenceRandonnee = lListePresenceRandonnee.get(i);
                            if (lPresenceRandonnee.equals(pListePresenceRandonneeCopie.get(i))) {
                            }
                            else {
                                String lURL = String.format(getString(R.string.update_URL),
                                                            lPresenceRandonnee.lireRandonneeId(),
                                                            pUserId,
                                                            lPresenceRandonnee.lirePresence());
                                if (ecrirePresences(lURL).contains("OK")) {
                                    pListePresenceRandonneeCopie.set(i, lPresenceRandonnee);
                                    runOnUiThread(new Runnable() {
                                        @Override
                                        public void run() {
                                            (pListeTextView.get(i_final)).setTextColor(getColor(R.color.colorRed));
                                            (pListeTextView.get(i_final)).setTypeface(((TextView) (pListeTextView.get(i_final))).getTypeface(), Typeface.NORMAL);
                                        }
                                    });
                                }
                                else {
                                    runOnUiThread(new Runnable() {
                                        @Override
                                        public void run() {
                                            Toast.makeText(getApplicationContext(), "Mise à jour base de données impossible", Toast.LENGTH_LONG).show();
                                        }
                                    });
                                }
                            }
                        }
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                pProgressBar.setVisibility(View.INVISIBLE);
                            }
                        });
                    }
                }).start();
            }
});
La ligne qui ne fonctionne pas est celle qui est en gras et en rouge.
Cette liste pListeTextView a été construite lors de l'appel du constructeur de mon ViewHolder de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
pListeTextView.add((TextView) view);
où view représente un TextView qui contient le texte de mon Spinner.

Merci pour votre aide