敲黑板 全程高能
/**
* 后台返回的是秒 开课时间减去现在的时间等于剩余的时间
*/
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--;
}
}
}
}
希望我的分享对大家有所帮助