代码如下:
private MyThread myThread;
if (null == myThread) { myThread = new MyThread(); } if (!myThread.isAlive()) myThread.start();
public class MyThread extends Thread implements Runnable { // thread @Override public void run() { while (is_Du_miao) { try { Thread.sleep(1000); // sleep 1000ms android.os.Message message = android.os.Message.obtain(); message.what = 1; timeHandler.sendMessage(message); System.out.println("mSecond:="+mSecond); /** * 这里需要根据你需要的刷新速度来定 */ } catch (Exception e) { } } } }
private Handler timeHandler = new Handler(){ @Override public void handleMessage(android.os.Message msg) { super.handleMessage(msg); if (msg.what==1) { computeTime(); String min; String sec; if (mMin<10){ min="0"+mMin+""; }else { min=mMin+""; } if (mSecond<10){ sec="0"+mSecond+""; }else { sec=mSecond+""; } if (mMin>=1){ // time_num.setText(min+"分钟"+":"+sec+"秒"); time_num.setText(min+"分钟"); des.setVisibility(View.GONE); time_lay.setVisibility(View.VISIBLE); }else { if (mSecond>0){ des.setVisibility(View.GONE); time_num.setText(sec+"秒"); time_lay.setVisibility(View.VISIBLE); }else { time_lay.setVisibility(View.GONE); des.setVisibility(View.VISIBLE); } is_Du_miao=false; } } } };
/** * 倒计时计算 */ private void computeTime() { mSecond--; if (mSecond < 0&&(mMin>0)) { mMin--; mSecond = 59; if (mMin < 0) { mMin = 59; } } }