0

我正在尝试在我的 Android 应用程序中放置一个警报对话框。它工作正常,但问题是在对话框显示之后,我单击主按钮,它显示两个对话框,一个只有标题,另一个是带有消息内容和 2 个按钮的标题。我已经尝试了很多教程,但我无法弄清楚所有相同的问题。这是我的代码:

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();
4

2 回答 2

0

1) Try to remove dialog.cancel()

2) Instead of alertDialog.show() have :

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

Hope this helps

于 2013-06-12T15:15:00.163 回答
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();
于 2013-06-12T18:02:59.763 回答