• 关于返回按钮的重载,即返回按钮的退出设置


    最近一直想要按返回键,弹出对话框然后选择退出,或者是继续留在当前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的返回值自己重写

  • 相关阅读:
    反射+注解:excel2module
    RSA签名
    base642photo
    maven命令
    201421123042 《Java程序设计》第14周学习总结
    201421123042 《Java程序设计》第13周学习总结
    201421123042 《Java程序设计》第12周
    201421123042 《Java程序设计》第10周学习总结
    201421123042 《Java程序设计》第9周学习总结
    201421123042 《Java程序设计》第8周学习总结
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300679.html
Copyright © 2020-2023  润新知