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,这就完成了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。