zoukankan      html  css  js  c++  java
  • 关于返回按钮的重载,即返回按钮的退出设置

    最近一直想要按返回键,弹出对话框然后选择退出,或者是继续留在当前Activity

    查了之后发现要重载onKeyDown()函数,下面写代码:

    @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
      // TODO Auto-generated method stub
      
      if(keyCode == KeyEvent.KEYCODE_BACK){
       AlertDialog.Builder builder = new AlertDialog.Builder(this);
       builder.setTitle("确定退出");
       builder.setMessage("测试用例");
       //设置确定按钮
       builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
        
        @Override
        public void onClick(DialogInterface dialog, int which) {
         finish();
         
        }
       });
       
       //设置取消按钮
       builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
        
        @Override
        public void onClick(DialogInterface dialog, int which) {
         // TODO Auto-generated method stub
         //do nothing
         
        }
       });
       
       AlertDialog dialog = builder.create();
       dialog.show();
       
      }
      
      return true;
      //下面代码是Eclipse自动添加的,返回的是执行Activity的onKeyDown()返回的值
    //  return super.onKeyDown(keyCode, event);
     }

    2.下面是onKeyDown(keyCode, event)

       函数中第一部分代码

         if (keyCode == KeyEvent.KEYCODE_BACK) {
                if (getApplicationInfo().targetSdkVersion
                        >= Build.VERSION_CODES.ECLAIR) {
                    event.startTracking();
                } else {
                    onBackPressed();
                }
                return true;
            }

         从此函数中我们可以看出,如果不重载的话,代码将会执行返回,直到退出Activity栈。因此要把return的返回值自己重写

  • 相关阅读:
    qt解决中文乱码
    二维数组及指针分析
    pyhon Django框架
    java回调(钩子函数)
    java.util.concurrent java并发工具包
    CountDownLatch 计数器
    报表 图形接口查询 (年月周日)
    pg 日期函数
    linux 执行脚本报错 No such file or directory
    python 处理数据常用操作
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300679.html
Copyright © 2011-2022 走看看