2012-09-10 49 views
1

我有一個自定義視圖對話框,當點擊一個列表項時我彈出一個自定義視圖。我重寫我的活動的onKeyDown函數,以查看按下後退按鈕時是否啓動對話框,但如果對話框啓動,則不會調用onKeyDown當對話框啓動時onKeyDown沒有被調用

如果在對話框消失後我點擊後退按鈕,它會被調用沒有問題,但我需要知道是否在對話框處理完成後按下後退按鈕,如果設備需要重新彈出旋轉。

我搜索了一下,看來,它有事情做與調用setContentView爲我定製對話框的佈局,但我沒有發現是如何得到okKeydown與對話

回答

3

對於對話框,我們必須努力獨立setOnKeyListener因此,嘗試下面的代碼,並....... 和像我一樣,你可以跟蹤任何按鍵...

  • 的keyCode == KeyEvent.KEYCODE_CAMERA
  • 的keyCode == KeyEvent.KEYCODE_SEARCH 等

     mProgressDialog.setOnKeyListener(new Dialog.OnKeyListener() { 
    
          @Override 
          public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { 
           if ((keyCode == KeyEvent.KEYCODE_CAMERA)) { 
            return true; 
           } 
           if ((keyCode == KeyEvent.KEYCODE_SEARCH)) { 
            return true; 
           } 
           return false; 
          } 
         }); 
    
相關問題