我处于需要几秒钟后弹出警报对话框的情况。我用postDelayed()尝试了Handler,但是没有用。

new Handler().postDelayed(new
Runnable() {
        @Override
        public void run() {
          AlertDialog.Builder builder = new     AlertDialog.Builder(
                        MyActivity.this);
                builder.setTitle("My title...    ");
                builder.    setMessage("my msg..");
                builder.     setPositiveButton("OK",
                         new     DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                int     which) {
                            Log.    e("info", "OK");
                            }
                        });

                builder.show();
        }
    });
        }
}, 33000);

最佳答案

您必须在builder.show();下面添加这段代码。这个对我有用。

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    public void run() {
        dialog.dismiss();
    }
}, 1500);  // 1500 seconds


编辑:

在您的情况下,我以不同的方式使用它。在这里您可以看到我的完整代码。以我为例,我只希望发出“模拟”进度对话框,一段时间后它消失。

protected void ActiveProgressDialog() {
    final ProgressDialog dialog = ProgressDialog.show(getActivity(), "", getResources().getString(R.string.carregantInfo), true);
    dialog.show();
    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        public void run() {
            dialog.dismiss();
        }
    }, 1500);  // 1500 milliseconds
}

}

关于android - Android:向警报对话框添加延迟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22440043/

10-09 18:30
查看更多