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

Android 在设定的时间后如何关闭ProgressDialog?,android,android-studio,android-dialog,Android,Android Studio,Android Dialog,我试图在3秒钟后自动关闭ProgressDialog(进程)对话框。以下是对话框: ProgressDialog progress = new ProgressDialog(this); progress.setTitle("Connecting"); progress.setMessage("Please wait while we connect to devices..."); progress.show(); 我试过几种方法,但都无法奏效。希望一个简单的时间或任何事情就足够了。谢谢。如

我试图在3秒钟后自动关闭ProgressDialog(进程)对话框。以下是对话框:

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

我试过几种方法,但都无法奏效。希望一个简单的时间或任何事情就足够了。谢谢。

如果您正在处理一个长时间运行的任务,然后想在之后取消它,那么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);
更新添加显示/隐藏:

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

非常感谢。这完全符合我的需要。非常感谢。在执行此操作时,是否可以在3000计时器之后轻松添加隐藏/显示相对布局?是的,您可以在Runnable run()方法中添加它,但随后必须添加rununuithread调用。添加一个progress onCancelListener()更容易,我已经更新了上面的代码。你是我的英雄。非常感谢。我还有很多问题,但我知道这不是论坛。再次感谢好先生!