android捕获back返回键
16lz
2021-01-23
@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中的用户词库——UserDictionry
- Android时间对话框
- android对话框的进一步使用
- android 对话框中弹出对话框原对话框关闭
- 关于android录音权限被用户禁用的问题解决方案
- Android 自定义弹出菜单和对话框
- Android webview中定制js的alert,confirm和prompt对话框的方法 (