由网友(恪·守?)分享简介:我一直在试图表现出你想退出吗?对话框类型,当用户试图退出一个活动。 不过,我无法找到相应的API钩子。 Activity.onUserLeaveHint()最初看起来很有希望,但我不能找到一种方法,从完成停止活动。解决方案 @覆盖公共布尔的onkeydown(INT键code,KeyEvent的事件){//处...
我一直在试图表现出你想退出吗?对话框类型,当用户试图退出一个活动。
不过,我无法找到相应的API钩子。 Activity.onUserLeaveHint()
最初看起来很有希望,但我不能找到一种方法,从完成停止活动。
@覆盖
公共布尔的onkeydown(INT键code,KeyEvent的事件){
//处理后退按钮
如果(键code == KeyEvent.KEY code_BACK){
//询问用户是否想退出
新AlertDialog.Builder(本)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(R.string.quit)
.setMessage(R.string.really_quit)
.setPositiveButton(R.string.yes,新DialogInterface.OnClickListener(){
@覆盖
公共无效的onClick(DialogInterface对话,诠释它){
//停止活动
YourClass.this.finish();
}
})
.setNegativeButton(R.string.no,空)
。显示();
返回true;
}
其他 {
返回super.onKeyDown(键code,事件);
}
}
在安卓2.0及以上版本,这将是这样的:
@覆盖
公共无效onBack pressed(){
新AlertDialog.Builder(本)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(闭幕活动)
.setMessage(你确定要关闭这个活动?)
.setPositiveButton(是,新DialogInterface.OnClickListener()
{
@覆盖
公共无效的onClick(DialogInterface对话,诠释它){
完();
}
})
.setNegativeButton(否,空)
。显示();
}
I've been trying to show a "Do you want to exit?" type of dialog when the user attempts to exit an Activity.
However I can't find the appropriate API hooks. Activity.onUserLeaveHint()
initially looked promising, but I can't find a way to stop the Activity from finishing.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//Handle the back button
if(keyCode == KeyEvent.KEYCODE_BACK) {
//Ask the user if they want to quit
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(R.string.quit)
.setMessage(R.string.really_quit)
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Stop the activity
YourClass.this.finish();
}
})
.setNegativeButton(R.string.no, null)
.show();
return true;
}
else {
return super.onKeyDown(keyCode, event);
}
}
In Android 2.0+ this would look like:
@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Closing Activity")
.setMessage("Are you sure you want to close this activity?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setNegativeButton("No", null)
.show();
}
相关推荐
最新文章