2011-02-05 56 views
3

AlertDialog不顯示發送按鈕。以下是代碼。請告訴我我在代碼中犯了什麼錯誤。AlertDialog不顯示兩個按鈕

protected Dialog onCreateDialog(int id) { 
    final AlertDialog.Builder dialog = new AlertDialog.Builder(this); 
    dialog.setMessage("Enter Holla message"); 
    EditText hollaMessage = new EditText(this); 
    dialog.setView(hollaMessage); 
    dialog.setCancelable(false); 
    dialog.setPositiveButton("Send", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      List result = new ArrayList(); 
     } 
    }); 
    dialog.setPositiveButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      dismissDialog(0); 
     } 
    }); 
    AlertDialog alert = dialog.create(); 
    return alert; 
}

回答

4

您設定的積極按鈕兩次..使其setNagativeButton("Cancel" .....

protected Dialog onCreateDialog(int id) 
{ 
    final AlertDialog.Builder dialog = new AlertDialog.Builder(this); 
    dialog.setMessage("Enter Holla message"); 
    EditText hollaMessage = new EditText(this); 
    dialog.setView(hollaMessage); 
    dialog.setCancelable(false); 
    dialog.setPositiveButton("Send", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      List result = new ArrayList(); 
     } 
    }); 
    dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      dismissDialog(0); 
     } 
    }); 
    AlertDialog alert = dialog.create(); 
    return alert; 
} 
+0

如果我想添加3個按鈕,那麼我該怎麼辦? – jfalexvijay 2011-02-05 06:57:24

+0

問這是一個單獨的問題在stackoverflow和接受答案,如果它可以幫助你在這 – Javanator 2011-02-05 06:58:48

+0

我已經做了很多,但它不起作用。你能幫我嗎? http://stackoverflow.com/questions/15439817/alertdialog-builder-not-displaying-buttons – 2013-03-15 18:40:21

3

哦!好友也有添加中性按鈕的選項。
您可以添加中性按鈕,類似於正面和負面的按鈕。

現在你的下一個評論會是,如果我想2添加4個按鈕呢?

然後,只需在所有四個按鈕的xml中進行佈局,然後將其設置在對話框中。

check this out....這將解決你所有的疑惑。
謝謝。

0

添加「.show()」結束任何按鈕。 考試:

dialog.setPositiveButton("Cancel", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 
     dismissDialog(0); 
    } 
}).show();