Android实现倒计时30分钟功能
以30分钟为例写的一个倒计时:
直接上代码
publicclassMainActivityextendsAppCompatActivity{ privateintminute=30;//这是分钟 privateintsecond=0;//这是分钟后面的秒数。这里是以30分钟为例的,所以,minute是30,second是0 privateTextViewtimeView; privateTimertimer; privateTimerTasktimerTask; //这是接收回来处理的消息 privateHandlerhandler=newHandler(){ publicvoidhandleMessage(Messagemsg){ if(minute==0){ if(second==0){ timeView.setText("Timeout!"); if(timer!=null){ timer.cancel(); timer=null; } if(timerTask!=null){ timerTask=null; } }else{ second--; if(second>=10){ timeView.setText("0"+minute+":"+second); }else{ timeView.setText("0"+minute+":0"+second); } } }else{ if(second==0){ second=59; minute--; if(minute>=10){ timeView.setText(minute+":"+second); }else{ timeView.setText("0"+minute+":"+second); } }else{ second--; if(second>=10){ if(minute>=10){ timeView.setText(minute+":"+second); }else{ timeView.setText("0"+minute+":"+second); } }else{ if(minute>=10){ timeView.setText(minute+":0"+second); }else{ timeView.setText("0"+minute+":0"+second); } } } } } }; @Override protectedvoidonCreate(BundlesavedInstanceState){ requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); timeView=(TextView)findViewById(R.id.tv); timeView.setText(minute+":"+second); timerTask=newTimerTask(){ @Override publicvoidrun(){ Messagemsg=newMessage(); msg.what=0; handler.sendMessage(msg); } }; timer=newTimer(); timer.schedule(timerTask,0,1000); } @Override protectedvoidonDestroy(){ if(timer!=null){ timer.cancel(); timer=null; } if(timerTask!=null){ timerTask=null; } minute=-1; second=-1; super.onDestroy(); } @Override protectedvoidonStart(){ super.onStart(); } @Override protectedvoidonStop(){ super.onStop(); } @Override protectedvoidonResume(){ super.onResume(); } @Override protectedvoidonRestart(){ super.onRestart(); } @Override protectedvoidonPause(){ super.onPause(); } }
ok,这就完成了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。