2013-06-12 178 views
0

我想在我的Android應用程序中添加一個警告對話框。它工作正常,但問題是在對話框顯示後,我點擊主要按鈕,它顯示兩個對話框只有一個標題,另一個是帶有消息內容和2個按鈕的標題。我已經嘗試了這麼多的教程,但所有同樣的問題,我無法弄清楚。 這是我的代碼:Android警報對話框問題

AlertDialog.Builder alertDialog = new AlertDialog.Builder(BuyFull.this); 

alertDialog.setTitle(R.string.app_name); 

alertDialog.setMessage(R.string.sms);  

alertDialog.setPositiveButton(R.string.buy, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog,int which) { 
     Toast.makeText(getApplicationContext(), "You clicked on buy", Toast.LENGTH_SHORT).show(); 
    } 
}); 

alertDialog.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 
     Toast.makeText(getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show(); 
     dialog.cancel(); 
    } 
}); 

alertDialog.show(); 
+0

你按下取消鍵,然後再次出來? – Blackbelt

+0

是它出來了只有alertdialog標題沒有消息內容和沒有按鈕 –

+0

使用dialog.dismiss()而不是dialog.cancel() –

回答

0

1)儘量除去dialog.cancel()

2)替代alertDialog.show()有:

AlertDialog dialog = alertDialog.create(); 
dialog.show() 

希望這有助於

+0

沒有發生任何事情,當我點擊兩個按鈕時仍然顯示只有標題:( –

+0

好吧。是否有可能你有兩次調用對話框的機會?在你的代碼sniplet中,你沒有提到它是如何以及它在哪裏你可能想檢查一下 –

+0

我甚至試圖刪除這些文件並重新創建它,並且打開的標題是我的軟件包名稱..怎麼會發生這種情況? –

0

試試這個,

AlertDialog alertDialog = new AlertDialog.Builder(BuyFull.this); 

alertDialog.setTitle(R.string.app_name); 

alertDialog.setMessage(R.string.sms);  

alertDialog.setPositiveButton(R.string.buy, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog,int which) { 
     Toast.makeText(getApplicationContext(), "You clicked on buy", Toast.LENGTH_SHORT).show(); 
    } 
}); 

alertDialog.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 
     Toast.makeText(getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show(); 
     dialog.cancel(); 
    } 
}); 

alertDialog.show();