读书人

android擒获back返回键

发布时间: 2012-07-15 20:11:29 作者: rapoo

android捕获back返回键

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// 按下的如果是BACK,同时没有重复if(keyCode==KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0){AlertDialog.Builder builder = new Builder(this);  builder.setMessage("您确定要退出?");  builder.setTitle("提示");  builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {  public void onClick(DialogInterface dialog, int which){    dialog.dismiss();    Activity01.this.finish();  }  });  builder.setNegativeButton("取消",new DialogInterface.OnClickListener() {  public void onClick(DialogInterface dialog, int which){    dialog.dismiss();    //取消对话框  }  });  AlertDialog alertDialog = builder.create();  //设置这个对话框不能被用户按[返回键]而取消掉,但测试发现如果用户按了KeyEvent.KEYCODE_SEARCH,对话框还是会Dismiss掉  alertDialog.setCancelable(false);    //由于设置alertDialog.setCancelable(false); 发现如果用户按了KeyEvent.KEYCODE_SEARCH,对话框还是会Dismiss掉,这里的setOnKeyListener作用就是屏蔽用户按下KeyEvent.KEYCODE_SEARCH  alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {@Overridepublic boolean onKey(DialogInterface dialog, int keyCode,KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_SEARCH) {return true;} else {return false; // 默认返回 false}}  });  alertDialog.show();}return super.onKeyDown(keyCode, event);}
?

读书人网 >Android

热点推荐