package com.gyc.game.go;
import android.app.Dialog;
import android.os.Handler;
public class AlertDialogTimeout implements Runnable {
int seconds;
Dialog dialog;
int elapsed = 0;
protected Handler handler;
@Override
public void run() {
long t1 = System.currentTimeMillis();
while (elapsed < seconds) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long t2 = System.currentTimeMillis();
elapsed = (int) ((t2 - t1) / 1000);
if (dialog.isShowing()) {
handler.post(new Runnable() {
@Override
public void run() {
dialog.setTitle("" + (seconds - elapsed));
}
});
} else {
if (elapsed > 3)
break;
}
}
if (dialog.isShowing()) {
handler.post(new Runnable() {
@Override
public void run() {
dialog.dismiss();
}
});
}
}
}
how to use //
Handler mHandler = new Handler();
GameNegotiationMidDialog neg = new GameNegotiationMidDialog(
MatchActivity.this, fromName);
try {
AlertDialogTimeout adt = new AlertDialogTimeout();
adt.seconds = 30;
adt.dialog = neg;
adt.handler = mHandler;
new Thread(adt).start();
neg.show();
} catch (Exception e) {
e.printStackTrace();
}
import android.app.Dialog;
import android.os.Handler;
public class AlertDialogTimeout implements Runnable {
int seconds;
Dialog dialog;
int elapsed = 0;
protected Handler handler;
@Override
public void run() {
long t1 = System.currentTimeMillis();
while (elapsed < seconds) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long t2 = System.currentTimeMillis();
elapsed = (int) ((t2 - t1) / 1000);
if (dialog.isShowing()) {
handler.post(new Runnable() {
@Override
public void run() {
dialog.setTitle("" + (seconds - elapsed));
}
});
} else {
if (elapsed > 3)
break;
}
}
if (dialog.isShowing()) {
handler.post(new Runnable() {
@Override
public void run() {
dialog.dismiss();
}
});
}
}
}
how to use //
Handler mHandler = new Handler();
GameNegotiationMidDialog neg = new GameNegotiationMidDialog(
MatchActivity.this, fromName);
try {
AlertDialogTimeout adt = new AlertDialogTimeout();
adt.seconds = 30;
adt.dialog = neg;
adt.handler = mHandler;
new Thread(adt).start();
neg.show();
} catch (Exception e) {
e.printStackTrace();
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/86970/viewspace-618139/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/86970/viewspace-618139/