可以自动消失的dialog希望对大家有用

 public class MyDialog extends AlertDialog {
  private int FLAG_DISMISS = 1;
  private boolean flag = true;

  public MyDialog(Context context) {
   super(context);
   setTitle(R.string.pay_tip);
   setMessage("恭喜您支付成功");
  }

  

  @Override
  public void show() {
   super.show();
   mThread.start();
  }

  @Override
  public void dismiss() {
   super.dismiss();
   flag = false;
  }

  private Thread mThread = new Thread() {
   @Override
   public void run() {
    super.run();
    while (flag) {
     try {
      Thread.sleep(3000);
      Message msg = mHandler.obtainMessage();
      msg.what = FLAG_DISMISS;
      mHandler.sendMessage(msg);
     } catch (InterruptedException e) {
      e.printStackTrace();
     }
    }
   }
  };
  private Handler mHandler = new Handler() {
   @Override
   public void handleMessage(Message msg) {
    super.handleMessage(msg);
    if (msg.what == FLAG_DISMISS)
     dismiss();
   }
  };
 }

你可能感兴趣的:(自动消失的dialog)