я разработал приложение, которое имеет одно действие, и я собираюсь кодировать при нажатии выхода, я хочу показать диалоговое окно с тремя кнопками, когда пользователь нажимает кнопку «Назад», одну для «да», вторую для «домой» и третью для «выход» и я сделал это методом обратного нажатия, но у меня возникла проблема с тем, что диалоговое окно не отображается, если отображается, то это просто мерцание диалогового окна, так в чем причина этого
мой код
public class MainActivity extends Activity {
private AlertDialog alertDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onBackPressed() {
super.onBackPressed();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
MainActivity.this);
alertDialogBuilder.setTitle("Alert Dialogue Box");
alertDialogBuilder.setMessage("Are you sure?");
alertDialogBuilder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Toast.makeText(getApplicationContext(),
"Positive", 1000).show();
}
});
alertDialogBuilder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
Toast.makeText(getApplicationContext(),
"You chose a negative answer",
Toast.LENGTH_LONG).show();
}
});
alertDialogBuilder.setNeutralButton("Exit the app",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Toast.makeText(getApplicationContext(), "exit",
1000).show();
MainActivity.this.finish();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}