敲黑板 全程高能
/**
* 後臺返回的是秒 開課時間減去現在的時間等於剩餘的時間
*/
int nexttime = data.getNexttime();
int days = nexttime / 3600 / 24;
int hours = nexttime / 3600 % 24;
int minutes = nexttime / 60 % 60;
int seconds = nexttime % 60;
/**
* 開一個Handler去讓他倒計時間
*/
private Handler timeHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 1) {
computeTime();
daysTv.setText(days + "");
hoursTv.setText(hours + "");
minutesTv.setText(minutes + "");
if (days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0) {
rl_next_time.setVisibility(View.GONE);
}
}
}
};
/**
* onCreate中執行此方法
*/
private void startRun() {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (isRun) {
try {
Thread.sleep(1000); // sleep 1000ms
Message message = Message.obtain();
message.what = 1;
timeHandler.sendMessage(message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
/**
* 倒計時計算
*/
private void computeTime() {
seconds--;
if (seconds < 0) {
minutes--;
seconds = 59;
if (minutes < 0) {
minutes = 59;
hours--;
if (hours < 0) {
// 倒計時結束
hours = 23;
days--;
}
}
}
}
希望我的分享對大家有所幫助