A countdown to write about 30 minutes as an example:
Directly upload the code
public class MainActivity extends AppCompatActivity { private int minute = 30;//This is a minute private int second = 0;//This is the number of seconds after the minute. Here is a case of 30 minutes, so minute is 30 and second is 0 private TextView timeView; private Timer timer; private TimerTask timerTask; //This is a message received and processed private Handler handler = new Handler() { public void handleMessage(Message msg) { if (minute == 0) { if (second == 0) { ("Time out !"); if (timer != null) { (); timer = null; } if (timerTask != null) { timerTask = null; } } else { second--; if (second >= 10) { ("0" + minute + ":" + second); } else { ("0" + minute + ":0" + second); } } } else { if (second == 0) { second = 59; minute--; if (minute >= 10) { (minute + ":" + second); } else { ("0" + minute + ":" + second); } } else { second--; if (second >= 10) { if (minute >= 10) { (minute + ":" + second); } else { ("0" + minute + ":" + second); } } else { if (minute >= 10) { (minute + ":0" + second); } else { ("0" + minute + ":0" + second); } } } } } }; @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); (savedInstanceState); setContentView(.activity_main); timeView = (TextView) findViewById(); (minute + ":" + second); timerTask = new TimerTask() { @Override public void run() { Message msg = new Message(); = 0; (msg); } }; timer = new Timer(); (timerTask, 0, 1000); } @Override protected void onDestroy() { if (timer != null) { (); timer = null; } if (timerTask != null) { timerTask = null; } minute = -1; second = -1; (); } @Override protected void onStart() { (); } @Override protected void onStop() { (); } @Override protected void onResume() { (); } @Override protected void onRestart() { (); } @Override protected void onPause() { (); } }
OK, that's done.
The above is all the content of this article. I hope it will be helpful to everyone's study and I hope everyone will support me more.