不知道您有没有这样的体验,我们做了个程序,不想让用户一直点击返回键,不知不觉中退了出来。希望给用户一个更为有好的提示,留下那些其实并没有真的要退出的用户。好吧,今天我就来说说如何实现这一功能。
- @Override
-
public boolean onKeyDown(int keyCode, KeyEvent event) { -
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { -
dialog(); -
return true; -
} -
return true; -
}
重写了Activity的侦听方法,如果用户按的键值与返回键键值相同便执行显示dialog的操作。
当然你还要重写dialog方法:
- protected
void dialog() { -
AlertDialog.Builder builder = new Builder(AccoutList.this); -
builder.setMessage("确定要退出吗?"); -
builder.setTitle("提示"); -
builder.setPositiveButton("确认", -
new android.content.DialogInterface.OnClickListener() { -
@Override -
public void onClick(DialogInterface dialog, int which) { -
dialog.dismiss(); -
//AccoutList.this.finish(); -
//System.exit(1); -
android.os.Process.killProcess(android.os.Process.myPid()); -
} -
}); -
builder.setNegativeButton("取消", -
new android.content.DialogInterface.OnClickListener() { -
@Override -
public void onClick(DialogInterface dialog, int which) { -
dialog.dismiss(); -
} -
}); -
builder.create().show(); -
}
protected void dialog() {
这时候您再在程序的入口Activity点击返回键时便会看见如下提示: