Home > Tricks & Tips > Auto-close dialog after a specific time

Auto-close dialog after a specific time


Not like Toast which is auto closed after 1-2 seconds, Dialog by default is not auto closed and doesn’t have any settings for auto closing.

In case you want your Dialog to auto-close after a time, then you may use a Timer to handle this task. Here a sample:

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;

public class AlertDialogStudy extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // get button
        Button btnShow = (Button)findViewById(R.id.btn_show);
        btnShow.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
                builder.setTitle("Auto-closing Dialog");
                builder.setMessage("After 2 second, this dialog will be closed automatically!");
                builder.setCancelable(true);

                final AlertDialog dlg = builder.create();

                dlg.show();

                final Timer t = new Timer();
                t.schedule(new TimerTask() {
                    public void run() {
                        dlg.dismiss(); // when the task active then close the dialog
                        t.cancel(); // also just top the timer thread, otherwise, you may receive a crash report
                    }
                }, 2000); // after 2 second (or 2000 miliseconds), the task will be active.

            }
        });
    }
}

I guess it’s easy enough for you to understand, right?

Hope you learn something from it!

 

Cheers,

Pete Houston

About these ads
  1. August 7, 2013 at 5:24 pm | #1

    Thanks you…. It works

  2. PT
    July 3, 2013 at 9:03 pm | #2

    Thanks … worked Great!

  3. February 25, 2013 at 5:08 pm | #3

    Good one, Worked charm

  4. hiren
    December 14, 2012 at 6:24 pm | #4

    thanks

  5. joost
    September 14, 2012 at 1:00 pm | #5

    Thanx good and effective.

  6. dn
    May 1, 2012 at 3:22 pm | #6

    perfectly, thanks

  7. hami
    March 19, 2012 at 11:52 pm | #7

    simple but effectively, thank you

  8. madfsa
    December 14, 2011 at 11:59 am | #8

    Thanks

  9. Rodrigo
    October 27, 2011 at 1:13 am | #9

    Tk´s a lot, perfect!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: