The game works fine for me when a cross wins, an alertdialog appears, in general everything works except a draw, here are the methods for winning
public void winnerx() { boolean finish = false; String s1 = btn1.getText().toString(); String s2 = btn2.getText().toString(); String s3 = btn3.getText().toString(); String s4 = btn4.getText().toString(); String s5 = btn5.getText().toString(); String s6 = btn6.getText().toString(); String s7 = btn7.getText().toString(); String s8 = btn8.getText().toString(); String s9 = btn9.getText().toString(); if (s1.equals("X") && s2.equals("X") && s3.equals("X") || s1.equals("X") && s4.equals("X") && s7.equals("X") || s1.equals("X") && s5.equals("X") && s9.equals("X") || s2.equals("X") && s5.equals("X") && s8.equals("X") || s3.equals("X") && s2.equals("X") && s1.equals("X") || s3.equals("X") && s6.equals("X") && s9.equals("X") || s3.equals("X") && s5.equals("X") && s7.equals("X") || s4.equals("X") && s5.equals("X") && s6.equals("X") || s7.equals("X") && s8.equals("X") && s9.equals("X")) { finish = true; AlertDialog.Builder builder = new AlertDialog.Builder(Main4Activity.this); builder.setTitle("Winner - X").setMessage("Do you want to play again?").setCancelable(false). setPositiveButton("Play again", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Main4Activity.this, Main4Activity.class); startActivity(intent); finish(); } }).setNegativeButton("Exit", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Main4Activity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("EXIT", true); startActivity(intent); } }); AlertDialog dialog = builder.create(); dialog.show(); } if (finish) { btn1.setEnabled(false); btn2.setEnabled(false); btn3.setEnabled(false); btn4.setEnabled(false); btn5.setEnabled(false); btn6.setEnabled(false); btn7.setEnabled(false); btn8.setEnabled(false); btn9.setEnabled(false); } } Here it is for zero
public void winnero() { boolean finish = false; String s1 = btn1.getText().toString(); String s2 = btn2.getText().toString(); String s3 = btn3.getText().toString(); String s4 = btn4.getText().toString(); String s5 = btn5.getText().toString(); String s6 = btn6.getText().toString(); String s7 = btn7.getText().toString(); String s8 = btn8.getText().toString(); String s9 = btn9.getText().toString(); if (s1.equals("O") && s2.equals("O") && s3.equals("O") || s1.equals("O") && s4.equals("O") && s7.equals("O") || s1.equals("O") && s5.equals("O") && s9.equals("O") || s2.equals("O") && s5.equals("O") && s8.equals("O") || s3.equals("O") && s2.equals("O") && s1.equals("O") || s3.equals("O") && s6.equals("O") && s9.equals("O") || s3.equals("O") && s5.equals("O") && s7.equals("O") || s4.equals("O") && s5.equals("O") && s6.equals("O") || s7.equals("O") && s8.equals("O") && s9.equals("O")) { finish = true; AlertDialog.Builder builder = new AlertDialog.Builder(Main4Activity.this); builder.setTitle("Winner - O").setMessage("Do you want to play again?").setCancelable(false). setPositiveButton("Play again", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Main4Activity.this, Main4Activity.class); startActivity(intent); finish(); } }).setNegativeButton("Exit", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Main4Activity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("EXIT", true); startActivity(intent); } }); AlertDialog dialog = builder.create(); dialog.show(); } if (finish) { btn1.setEnabled(false); btn2.setEnabled(false); btn3.setEnabled(false); btn4.setEnabled(false); btn5.setEnabled(false); btn6.setEnabled(false); btn7.setEnabled(false); btn8.setEnabled(false); btn9.setEnabled(false); } } I tried this method for nobody, but it does not work
public void draw(){ if(btn1.isPressed() && btn2.isPressed() && btn3.isPressed() && btn4.isPressed() && btn5.isPressed() && btn6.isPressed() && btn7.isPressed() && btn8.isPressed() && btn9.isPressed()){ AlertDialog.Builder builder = new AlertDialog.Builder(Main4Activity.this); builder.setTitle("DRAW").setMessage("Do you want to play again?").setCancelable(false). setPositiveButton("Play again", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Main4Activity.this, Main4Activity.class); startActivity(intent); finish(); } }).setNegativeButton("Exit", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Main4Activity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("EXIT", true); startActivity(intent); } }); AlertDialog dialog = builder.create(); dialog.show(); } }