0

在我的 android 应用程序中,我使用一个警报对话框向用户显示一些信息,如果用户单击该对话框,它应该完成活动。我的代码是

offer.this.runOnUiThread(new Runnable() {
@Override
public void run() {
    // TODO Auto-generated method stub
    AlertDialog alert=new AlertDialog.Builder(offer.this).create();
    alert.setTitle("SVSugar Mill");
    alert.setMessage("Offer Number is "+offer_no.getText().toString());
    alert.setButton("Click to Dismiss", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        finish();
        //return;
        }
    });
    alert.show();
    }
});

它不等待用户响应完成()。相反,即使用户没有单击警报对话框,它也会被调用。我知道这是异步的,但我需要这样做。(应向用户显示 OfferNO。当用户单击警报对话框时,它应该完成活动)。有没有办法做到这一点?

谁来帮帮我

编辑:

活动将完成,无需等待用户单击警报对话框

4

2 回答 2

0
public void ShowDialog(final Context context) {
        new AlertDialog.Builder(context)
                .setTitle(android.R.string.dialog_alert_title)  
                .setMessage(UContext.getContext().getString(R.string.network_error))
                .setPositiveButton(android.R.string.ok,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                this.finish();
                            }
                        }).show();
    }
于 2013-03-04T11:22:13.717 回答
0

问题是您在这里创建了两个 AlertDialog 实例:

alertDialog=builder.create();
builder.create().show();

然后你在实际上没有显示的对话框上调用了dismiss()。这应该可以解决问题:

alertDialog=builder.show();
于 2014-04-17T11:21:56.873 回答