如何显示一对话框,以确认用户希望退出一个机器人活动?对话框、机器人、用户

由网友(恪·守?)分享简介:我一直在试图表现出你想退出吗?对话框类型,当用户试图退出一个活动。 不过,我无法找到相应的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(否,空)
    。显示();
}
 

QQ删除好友以后是不是对方那还是会显示你在他的好友里

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();
}

阅读全文

相关推荐

最新文章