2012-06-17 80 views
0

目標是按下menu_key上顯示的對話框,但它保持關閉狀態。我諮詢了官方FAQ on Dialogs,但沒有運氣。一切都按照解釋的那樣完成,但只要按下按鈕,它仍會失敗。下面是對話的創作:Android:創建時關閉對話框

static final int Choice_ID = 0; 

    protected Dialog onCreateDialog(int id) { 
     Dialog dialog = null; 
     switch(id) { 
     case Choice_ID: 
      // do the work to define the pause Dialog 
      AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setMessage("TEST DIALOG") 
        .setCancelable(true); 

      AlertDialog alert = builder.create(); 
      break; 

     //default: 
      //dialog = null; 
     } 
     return dialog; 
    } 

而關於顯示這樣看起來的一部分:

public boolean onKeyDown(int keyCode, KeyEvent event) { 

     if (keyCode == KeyEvent.KEYCODE_MENU) { 
      showDialog(Choice_ID); 

     }; 
}; 
+0

請發佈logcat錯誤。 – Sam

+0

現在一切正常。謝謝。 – wswld

回答

1

這應該不會導致強制關閉,但你可以看到菜單,如果你嘗試設置的dialog值:

dialog = builder.create(); 

如:

protected Dialog onCreateDialog(int id) { 
    Dialog dialog = null; 
    switch(id) { 
    case Choice_ID: 
     // do the work to define the pause Dialog 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setMessage("TEST DIALOG") 
       .setCancelable(true); 

     dialog = builder.create(); 
     break; 

    //default: 
     //dialog = null; 
    } 
    return dialog; 
} 
+0

不幸。它建議我把'dialog'重命名爲'dialog1'。重複的局部變量。我將未使用的'alert'改爲對話框?或者我應該改變什麼? – wswld

+0

它的工作,非常感謝!一旦它允許我接受你的回答,我會盡快接受你的回答。再次感謝。 – wswld

+0

很高興我能幫忙,並感謝接受我的答案。作爲一個說明總是剪切和粘貼任何logcat錯誤,他們非常有幫助。 – Sam