我正在尝试创建一个对话框按钮,当我在主活动时弹出该对话框按钮并询问用户是否确定要关闭程序。我不确定在//按钮的动作中添加什么...有更好的方法吗?
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'Yes' Button
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
dialog.cancel();
}
});
AlertDialog alert = alt_bld.create();
// Title for AlertDialog
alert.setTitle("Exit Game?");
// Icon for AlertDialog
alert.setIcon(R.drawable.icon);
alert.show();
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 0 :(得分:3)
例如,您可以完成Activity
。调用finish()
方法。
除此之外,考虑在showDialog()
中使用DialogFragments(如果您使用兼容性库)或Activity
方法 - 这将防止窗口泄漏。
答案 1 :(得分:1)
你可以在yes按钮的动作中使用简单的finish()语句来退出活动
你也可以覆盖那个
的onBackPressed方法