Android警报对话框问题

问题描述 投票:0回答:3

在我的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。当用户单击警报对话框时,它应该完成活动)。有什么办法吗?

有人帮助我

编辑:

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

java android android-alertdialog
3个回答
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();
    }

0
投票

问题是您在此处创建了两个AlertDialog实例:

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

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

alertDialog=builder.show();

0
投票

在onClick方法之前使用此代码alert.setCancelable(false);

© www.soinside.com 2019 - 2024. All rights reserved.