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