簡體   English   中英

Android 警報對話框問題

[英]Android alert dialog Issue

在我的 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。當用戶單擊警報對話框時,它應該完成活動)。 有沒有辦法做到這一點?

誰來幫幫我

編輯:

活動將在不等待用戶單擊警報對話框的情況下完成

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

問題是你在這里創建了兩個 AlertDialog 實例:

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

然后你在實際上沒有顯示的對話框上調用了dismiss()。 這應該可以解決問題:

alertDialog=builder.show();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM