Skip to content Skip to sidebar Skip to footer

How Can I Close A ProgressDialog After A Set Time?

I am trying to close a ProgressDialog box automatically after 3 seconds. Here is the dialog: ProgressDialog progress = new ProgressDialog(this); progress.setTitle('Connecting'); pr

Solution 1:

AsyncTask is okay if you are processing a long running task and then want to cancel it after, but it's a bit overkill for a 3 second wait. Try a simple handler.

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

Updated adding show/hide:

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

Post a Comment for "How Can I Close A ProgressDialog After A Set Time?"