Android中的倒计时实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中的倒计时实现相关的知识,希望对你有一定的参考价值。

         ------你需要努力,你还没资格休息-----
Anroid中的倒计时实现:
在此先叙述小弟了解的,以后再补充整理。见谅
1、Timer和TimerTask
public class TimerTask extends Activity {
   //设置一个倒计时
   private int recLen =12;
   private TextView textview;
  Timer timer=new Timer();
  public void onCreate(Bundle savedInstanceState){ 
      super.onCreate(savedInstanceState);
      setContentView(R.layout.timertask);
     textview=(TextView)findViewById(R.id.txttime);
         //延迟1000毫秒后再开始执行,第二个1000是间隔多长时间执行一次
     timer.schedule(task,1000,1000); //timertask
   }
   TimerTask task=new TimerTask(){
      public void run(){
      //跳到主线程跟新
      runOnUiThread(new Runnable(){//ui thread
        public void run(){
            recLen --;
             textview.setText(""+recLen );
              //判断倒计时是否走完   
              if(recLen<0){
                     //停止执行
                  timer.cancel();
                //隐藏倒计时
                textview.setVisibility(View.GONE);
                  }
                }
           });
        }
      }
  }
     

  2、TimerTask与Handler(不用Timer的改进型)

     

public class TimerTask extends Activity {
   //设置一个倒计时
   private int recLen =12;
   private TextView textview;
  Timer timer=new Timer();
  public void onCreate(Bundle savedInstanceState){ 
      super.onCreate(savedInstanceState);
      setContentView(R.layout.timertask);
     textview=(TextView)findViewById(R.id.txttime);
         //延迟1000毫秒后再开始执行,第二个1000是间隔多长时间执行一次
     timer.schedule(task,1000,1000); //timertask
   }
    final Handler handler=new Handler(){
          public void handleMessage(Message msg){ 
             switch(msg.what){
              case 1:
             textview.setText(""+recLen );
           //判断倒计时是否走完   
              if(recLen<0){
                     //停止执行
                  timer.cancel();
                //隐藏倒计时
                textview.setVisibility(View.GONE);
                   }
              }                       
            }
         }
   TimerTask task=new TimerTask(){
      public void run(){
           recLen--;
            //发送消息到handler中进行处理
                 Message message=new Message();
                   message.what=1;
                handler.sendMessage(message);
           }
      }
 }

  




}
       ----------小弟才艺不精,如有纰漏.请各位赐教------   

以上是关于Android中的倒计时实现的主要内容,如果未能解决你的问题,请参考以下文章

事件处理程序中的 preventDefault() 禁止更改检测

Android中FragmentManager进行片段回收的目的是啥?

Android 禁止App字体随系统大小而更改

Android中的倒计时实现

Android中的倒计时实现

在顶部添加新项目后,回收器视图未滚动到顶部,因为尚未发生对列表适配器的更改