一、若是隻想阻止「返回鍵」關閉Dialog最簡單的setCancelable(false)ide
二、最簡單的方法重載Activity的OnKeyDown()方法,捕捉想要屏蔽的按鍵:get
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated methodstub
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){ it
return true;event
}class
if (keyCode == KeyEvent.KEYCODE_SEARCH)
{
returntrue;
}
return super.onKeyDown(keyCode,event);
}原理
這方法可用,可是有缺點(大家懂得)。List
三、只給相應的Dialog監聽setOnKeyListener():方法
alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener(){
@Override
publicboolean onKey(DialogInterface dialog, int keyCode, KeyEventevent)
{
if (keyCode== KeyEvent.KEYCODE_SEARCH)
{
returntrue;
}
else
{
returnfalse; //默認返回 false
}
}
});word
這方法改進了上一個方法的缺點,原理與上邊方法同樣。di