如何在设定的时间后关闭ProgressDialog?

Hol*_*t33 7 android android-dialog android-studio

我试图在3秒后自动关闭ProgressDialog框.这是对话框:

ProgressDialog progress = new ProgressDialog(this);
progress.setTitle("Connecting");
progress.setMessage("Please wait while we connect to devices...");
progress.show();
Run Code Online (Sandbox Code Playgroud)

我尝试过几种方法,但我无法让其中任何一种方法起作用.一个简单的时间或任何事情都可以满足.谢谢.

Gar*_*Bak 19

AsyncTask是可以的,如果你正在处理一个长时间运行的任务,然后想在之后取消它,但是等待3秒钟有点过分.尝试简单的处理程序.

    final ProgressDialog progress = new ProgressDialog(this);
    progress.setTitle("Connecting");
    progress.setMessage("Please wait while we connect to devices...");
    progress.show();

    Runnable progressRunnable = new Runnable() {

        @Override
        public void run() {
            progress.cancel();
        }
    };

    Handler pdCanceller = new Handler();
    pdCanceller.postDelayed(progressRunnable, 3000);
Run Code Online (Sandbox Code Playgroud)

更新添加显示/隐藏:

progress.setOnCancelListener(new DialogInterface.OnCancelListener() {
    @Override
    public void onCancel(DialogInterface dialog) {
        theLayout.setVisibility(View.GONE);
    }
});
Run Code Online (Sandbox Code Playgroud)