Bonjour à tous,

Je débute en Java et j'ai un peu de mal avec l'utilisation des variables.
A partir d'un layout XML où j'ai défini mes boutons (plusieurs dizaines !), j'essaie de constituer dans une boucle for la variable qui va bien pour la passer au listener et ainsi instancier mes boutons.
Et c'est là que je galère.
Mon bouton "squelette" de départ est "jeton" et je veux incrémenter "jeton" en "jeton1", "jeton2"...etc pour être en phase avec les IDs bouton créés dans le XML.
Ca doit être tout bête mais je sèche...
J'ai essayé en passant par une Array mais le code plantait à l'exécution...

Voila l'idée, ce code est conçu pour un seul bouton et ne fonctionne pas :
Mon XML :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<Button
            android:id="@+id/jeton1"
            android:layout_column="0"
            android:layout_row="0"
            android:text="@string/boutona"
            android:layout_height="88dp"
            android:layout_width="88dp"
            android:textSize="40sp"
            android:backgroundTint="#eeceac"
            android:textStyle="bold" />
La Main Class Java :

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
 
public class MainActivity extends AppCompatActivity {
 
    int i;
    String jeton = "jeton";
 
        // private Button[i] jeton = new Button[R.id.jeton[i]];
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // Step 3 Assignation des objets du tableau Array aux boutons
        for(int i=1; i<2; i++) {
            jeton = jeton + i; // Variable sous la forme "jeton1"
 
            public void addListenerOnButton(jeton); { // Erreur
 
            jeton = (Button) findViewById(R.id.jeton); // Ne marche pas, ne trouve pas jeton1
 
            jeton.setOnClickListener(new OnClickListener() { // Erreur
 
                @Override
                public void onClick(View arg0) {
                    /* Les 2 actions effacent le texte et affectent la couleur du background au btn */
                    jeton.getBackground().setAlpha(0); // Erreur
                    jeton.setTextColor(Color.parseColor("#2aa17b")); // Erreur
 
                }
            });
 
        }
Merci pour votre aide parce que là je suis coincé