0

私の Android アプリケーションでは、1 つの警告ダイアログを使用してユーザーに情報を表示します。ユーザーがダイアログをクリックすると、アクティビティが終了するはずです。私のコードは

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

問題は、ここで 2 つの AlertDialog インスタンスを作成したことです。

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

次に、実際には表示されていないダイアログで、dismiss() を呼び出しました。これで問題が解決するはずです:

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