Dialog與返回鍵onKeyDown

轉自:http://www.android100.org/html/201403/07/5804.html

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,這裏false不能屏蔽返回鍵,改成true就可以了
    }
   }
  });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章