Android Dialog监听返回键!
1、如果只想阻止“返回键”关闭Dialog最简单的setCancelable(false)
2、最简单的方法重载Activity的OnKeyDown()方法,捕捉想要屏蔽的按键:
public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){ return true; } if (keyCode == KeyEvent.KEYCODE_SEARCH) { return true; } return super.onKeyDown(keyCode, event); }
这方法可用,但是有缺点(你们懂得)。
3、只给相应的Dialog监听setOnKeyListener(): alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_SEARCH) { return true; } else { return false; //默认返回 false } } }); 这方法改进了上一个方法的缺点,原理与上边方法一样。