Bonjour

j'ai créé une classe Donne :
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
 
public class Donne {
 
    //proprietes
    private  static Integer numeroDonne;
    private static String donneur;
    private static String vulnerable;
 
    public Donne(Integer numeroDonne, String donneur, String vulnerable) {
        this.numeroDonne = numeroDonne;
        this.donneur = donneur;
        this.vulnerable = vulnerable;
    }
 
    public String getVulnerable() {
        return vulnerable;
    }
    public  void setVulnerable(String vulnerable) {
        Donne.vulnerable = vulnerable;
    }
    public String getDonneur() {
        return donneur;
    }
    public  void setDonneur(String donneur) {
        Donne.donneur = donneur;
    }
    public Integer getNumeroDonne() {
        return numeroDonne;
    }
    public static void setNumeroDonne(Integer numeroDonne) {
        Donne.numeroDonne = numeroDonne;
    }
}
je crée une ArrayList de plusieurs donnes dans une classe Mouvement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    public static ArrayList<Donne> lesDonnesMouvement;
    public static ArrayList<Donne> getLesDonnesMouvement() {
        return lesDonnesMouvement;
    }
    public static void setLesDonnesMouvement(ArrayList<Donne> lesDonnesMouvement) {
        Mouvement.lesDonnesMouvement = lesDonnesMouvement;
    }
Dans la classe Controle j'extrait les donnes d'un JsonArray :
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
   public void afficheTournoi(String strMessage1, String strMessage2){
 
        try {
            //transforme les données de message1 en un tableau : leMouvement
            JSONArray leMouvementJsonArray = new JSONArray(strMessage1);
            Log.d("controle.affiTourn", "le mvnt_numero "+leMouvementJsonArray.toString());
            for (int k = 0; k < leMouvementJsonArray.length(); k++) {
                JSONObject leMouvement = new JSONObject(leMouvementJsonArray.get(k).toString());
                mvnt_numero = leMouvement.getInt("mvnt_numero");
                Mouvement.setMvnt_numero(mvnt_numero);
                table_numero = leMouvement.getInt("table_numero");
                Mouvement.setTable_numero(table_numero);
                equipeNS = leMouvement.getInt("equipe_NS");
                Mouvement.setEquipeNS(equipeNS);
                equipeEO = leMouvement.getInt("equipe_EO");
                Mouvement.setEquipeEO(equipeEO);
                nomJ1 = leMouvement.getString("nomJ1");
                Tournoi.setNomJ1(nomJ1);
                prenomJ1 = leMouvement.getString("prenomJ1");
                Tournoi.setPrenomJ1(prenomJ1);
                nomJ2 = leMouvement.getString("nomJ2");
                Tournoi.setNomJ2(nomJ2);
                prenomJ2 = leMouvement.getString("prenomJ2");
                Tournoi.setPrenomJ2(prenomJ2);
            }
        } catch (JSONException e) {
            Log.d("controle", "***************" + "conversion JSON impossible " + e.toString());
            // e.printStackTrace();
        }
        try {
            //transforme les données de message2 en un tableau : leMouvement
            JSONArray lesDonnesMouvementJsonArray = new JSONArray(strMessage2);
            Log.d("controle.affiTourn", "les donnes du Mouvemengt "+ lesDonnesMouvementJsonArray.toString());
            for (int k = 0; k < lesDonnesMouvementJsonArray.length(); k++) {
                JSONObject donneMouvementOject = new JSONObject(lesDonnesMouvementJsonArray.get(k).toString());
 
                numeroDonne = donneMouvementOject.getInt("numero_donne");
                donneur = donneMouvementOject.getString("donneur");
                vulnerable = donneMouvementOject.getString("vulnerable");
                //crée une donne du mouvement
                Donne donneMouvement = new Donne(numeroDonne, donneur, vulnerable);
                Log.d("control.affich","une donne du mouvement index : "+k+" ** "+donneMouvement+" ***numeroDonne : "+numeroDonne);
                Integer numero3Donne = donneMouvement.getNumeroDonne();
                Log.d("control.affich","une donne du mouvement index : "+k+" ** "+donneMouvement+" ***numero3Donne : "+numero3Donne);
 
                //ajoute les donnes à la liste des donnes du Mouvement
                lesDonnesMouvement.add(donneMouvement);
                Mouvement.setLesDonnesMouvement(lesDonnesMouvement);
                Integer numero0Donne = lesDonnesMouvement.get(0).getNumeroDonne();
                Log.d("control.affich","une donne du mouvement index : "+k+" ** "+donneMouvement+" **numero0Donne : "+numero0Donne);
                Donne donne0 = lesDonnesMouvement.get(0);
                Integer numero0 = donne0.getNumeroDonne();
                Log.d("control.affich","une donne0 du mouvement index : "+0+" ** "+donne0+" **numero0 : "+numero0);
            }
        } catch (JSONException e) {
            Log.d("controle", "***************" + "conversion JSON impossible " + e.toString());
            // e.printStackTrace();
        }
 
        Log.d("control.affich", "mouvement.getdonne a jouer : "+Mouvement.getDonneAJouer());
        if(Mouvement.getDonneAJouer()!=0){
            Mouvement.setDonneAJouer(Mouvement.getDonneAJouer()+1); ;
        }
        Log.d("control.affich", "mouvement.getdonne a jouer : "+Mouvement.getDonneAJouer());
        lesDonnesMouvement = Mouvement.getLesDonnesMouvement();
        Log.d("control.affichetour","lesDonnesMouvements : "+lesDonnesMouvement.toString());
 
        for (int k = 0; k < lesDonnesMouvement.size(); k++) {
            Integer numero2Donne = lesDonnesMouvement.get(k).getNumeroDonne();
            Log.d("control.affichetour", "numero2Donne : " + numero2Donne.toString());
            Donne uneDonne = Mouvement.getUneDonneMouvement( k);
            Integer numero5Donne = uneDonne.getNumeroDonne();
            Log.d("control.affichetour", "numero5Donne : " + numero5Donne.toString());
        }
        Mouvement.setDonneAJouer(numeroDonne);
 
            Intent intent = new Intent(contexte, MouvementActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            Log.d("controle.affiTourn", "le mvnt_numero => MouvementActivity");
            contexte.startActivity(intent);
    }
Le problème je n'arrive pas à avoir le numéro de la première donne de l'arrayList "lesDonnesMouvement", une fois l'arraylist constitué, j'obtiens toujours le numéro de la dernière donne enregistrée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
//rappel du code ci-dessus
        for (int k = 0; k < lesDonnesMouvement.size(); k++) {
            Integer numero2Donne = lesDonnesMouvement.get(k).getNumeroDonne();
            Log.d("control.affichetour", "numero2Donne : " + numero2Donne.toString());
            Donne uneDonne = Mouvement.getUneDonneMouvement( k);
            Integer numero5Donne = uneDonne.getNumeroDonne();
            Log.d("control.affichetour", "numero5Donne : " + numero5Donne.toString());
        }
alors que lors de la création les numéro de la donne sont correct :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//rappel du code ci-dessus
           for (int k = 0; k < lesDonnesMouvementJsonArray.length(); k++) {
                JSONObject donneMouvementOject = new JSONObject(lesDonnesMouvementJsonArray.get(k).toString());
                numeroDonne = donneMouvementOject.getInt("numero_donne");
                donneur = donneMouvementOject.getString("donneur");
                vulnerable = donneMouvementOject.getString("vulnerable");
                //crée une donne du mouvement
                Donne donneMouvement = new Donne(numeroDonne, donneur, vulnerable);
                Log.d("control.affich","une donne du mouvement index : "+k+" ** "+donneMouvement+" ***numeroDonne : "+numeroDonne);
                Integer numero3Donne = donneMouvement.getNumeroDonne();
                Log.d("control.affich","une donne du mouvement index : "+k+" ** "+donneMouvement+" ***numero3Donne : "+numero3Donne);
 
                //ajoute les donnes à la liste des donnes du Mouvement
                lesDonnesMouvement.add(donneMouvement);