【发布时间】:2011-05-19 05:42:15
【问题描述】:
大家好,我想拦截我的主页按钮。
我想要的是,每当我按下主页按钮时,我都想显示一个警报对话框,提示您确定要退出。如果是,则完成活动,否则什么也不做。
我必须知道
每当我们按下 Home 按钮时,都会按顺序执行以下回调。
onSaveInstanceState(Bundle outState)
onPause()
onStop()
所以我有 overRide onSaveInstanceState 方法并在那里设置我的警报对话框代码,但它给了我对话框异常。请朋友帮忙。指导我一点……关于它。
更新:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
boolean flag = displayAlertDialog();
if(flag){
this.finish();
super.onSaveInstanceState(savedInstanceState);
}
}
displayAlertDialog 方法:
private boolean isExit = false;
public boolean displayAlertDialog()
{
//final boolean flag=true;
int a = 0;
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setMessage("Are you sure you want to Exit?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
isExit = true;
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
isExit = false;
dialog.cancel();
}
});
alt_bld.show();
return isExit;
}
【问题讨论】:
-
你应该描述你的代码以获得其他人的帮助
标签: android onkeydown android-homebutton