在android中退出时出现对话框问题
我开发了一个有一个活动的应用程序,我将在按下退出按钮时编码, 我想用三个按钮显示对话框,当用户按下后退按钮时,第一个按钮表示“是”,第二个按钮表示“主页”,第三个按钮表示“退出”,我使用后退按钮的方法进行了显示,但我遇到了一些问题,如果显示对话框,则它不显示对话框,只是对话框闪烁,那么它背后的原因是什么 我的代码是在android中退出时出现对话框问题,android,android-alertdialog,android-dialog,Android,Android Alertdialog,Android Dialog,我开发了一个有一个活动的应用程序,我将在按下退出按钮时编码, 我想用三个按钮显示对话框,当用户按下后退按钮时,第一个按钮表示“是”,第二个按钮表示“主页”,第三个按钮表示“退出”,我使用后退按钮的方法进行了显示,但我遇到了一些问题,如果显示对话框,则它不显示对话框,只是对话框闪烁,那么它背后的原因是什么 我的代码是 public class MainActivity extends Activity { private AlertDialog alertDialog; @Override p
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();
}
你写的代码很好。但是这行代码导致了异常
super.onBackPressed();
这是完成您的活动
,因此您的对话框
将因窗口泄漏异常而关闭。
因此,请从代码中删除该行
添加此行以取消外部触摸
alertDialog.setCanceledOnTouchOutside(false);
您可以在对话框引用中设置AlertDialog.Builder,如下所示:
Dialog dia = new AlertDialog.Builder(this)
并使用
dia
使用setcanceledontouchout
方法comment super.onBackPressed();我还有一个问题,当我在对话框外点击时,对话框会关闭。。。