首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Handler 的应用

2012-10-10 
Handler 的使用Handler的使用如下,代码比较简单,在扩展Handler 时一定要重写handleMessage(查Handler API,

Handler 的使用
Handler的使用如下,代码比较简单,在扩展Handler 时一定要重写handleMessage(查Handler API,void handleMessage(Message msg) Subclasses must implement this to receive messages.),里面是你要定时call的方法,还需写一个sleep方法延时:

package net.learn2develop.Databases;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;

public class HandlerMain extends Activity  {
   private TextView txtStatus;
   private RefreshHandler mRedrawHandler = new RefreshHandler();

   class RefreshHandler extends Handler {
      @Override
      public void handleMessage(Message msg) {
      HandlerMain.this.updateUI();
     
      }

      public void sleep(long delayMillis) {
         this.removeMessages(0);
         sendMessageDelayed(obtainMessage(0), delayMillis);
      }
   };

   /*public void sleep(long delayMillis) {
   mRedrawHandler.removeMessages(0);
   mRedrawHandler.sendMessageDelayed(mRedrawHandler.obtainMessage(0), delayMillis);
   }*/
  
   private void updateUI(){
      int currentInt = Integer.parseInt((String) txtStatus.getText()) + 10;
      if(currentInt <= 100){
         mRedrawHandler.sleep(1000);
         txtStatus.setText(String.valueOf(currentInt));
      }
   }

   @Override
   public void onCreate(Bundle icicle) {
      super.onCreate(icicle);
      setContentView(R.layout.main);
      this.txtStatus = (TextView) this.findViewById(R.id.txtStatus);
      updateUI();
   }
}

热点排行