Modifier le texte d'un bouton au clic
Bonjour,
J'essaie de créer un Morpion pour Android, avec Android Studio.
Je rencontre une difficulté pour changer le texte du bouton au clic.
J'ai trouvé que la méthode a utilisé était "setText();" mais ne semble pas reconnu dans mon code.
Code:
1 2 3 4 5
| if (currentPlayer == 1) {
v.setText("X");
} else {
v.setText("O");
} |
Voici mon code entier
Code:
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 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| package fr.morpion;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private int board[][] = new int[3][3];
private int currentPlayer = 1;
private TextView player;
private ArrayList<Button> all_buttons = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
player = findViewById(R.id.player);
Button btn1 = findViewById(R.id.btn1);
Button btn2 = findViewById(R.id.btn2);
Button btn3 = findViewById(R.id.btn3);
Button btn4 = findViewById(R.id.btn4);
Button btn5 = findViewById(R.id.btn5);
Button btn6 = findViewById(R.id.btn6);
Button btn7 = findViewById(R.id.btn7);
Button btn8 = findViewById(R.id.btn8);
Button btn9 = findViewById(R.id.btn9);
all_buttons.add(btn1);
all_buttons.add(btn2);
all_buttons.add(btn3);
all_buttons.add(btn4);
all_buttons.add(btn5);
all_buttons.add(btn6);
all_buttons.add(btn7);
all_buttons.add(btn8);
all_buttons.add(btn9);
for (Button btn:all_buttons) {
btn.setBackground(null);
btn.setOnClickListener(this);
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn1:
board[0][0] = currentPlayer;
break;
case R.id.btn2:
board[1][0] = currentPlayer;
break;
case R.id.btn3:
board[2][0] = currentPlayer;
break;
case R.id.btn4:
board[0][1] = currentPlayer;
break;
case R.id.btn5:
board[1][1] = currentPlayer;
break;
case R.id.btn6:
board[2][1] = currentPlayer;
break;
case R.id.btn7:
board[0][2] = currentPlayer;
break;
case R.id.btn8:
board[1][2] = currentPlayer;
break;
case R.id.btn9:
board[2][2] = currentPlayer;
break;
default:
return;
}
if (currentPlayer == 1) {
v.setText("X");
} else {
v.setText("O");
}
}
} |
Merci de votre aide :)