android-handler基本使用

来源:互联网 发布:船舶吨位是指 知乎 编辑:程序博客网 时间:2024/06/05 17:24

Handler的使用,利用Handler来更新ui界面

例画圆移动:

  1. public class TestHandler extends Activity {  
  2.      protected static final int GUIUPDATEIDENTIFIER = 0x101;   
  3.        
  4.      Thread myRefreshThread = null;   
  5.      BounceView myBounceView = null;   
  6.    
  7.      Handler myHandler = new Handler() {  
  8.           public void handleMessage(Message msg) {   
  9.                switch (msg.what) {   
  10.                     case TestHandler.GUIUPDATEIDENTIFIER:   
  11.                          myBounceView.invalidate();  
  12.                          break;   
  13.                }   
  14.                super.handleMessage(msg);   
  15.           }   
  16.      };  
  17.      public void onCreate(Bundle savedInstanceState) {   
  18.           super.onCreate(savedInstanceState);   
  19.           this.requestWindowFeature(Window.FEATURE_NO_TITLE);   
  20.    
  21.           this.myBounceView = new BounceView(this);  
  22.           this.setContentView(this.myBounceView);   
  23.           new Thread(new myThread()).start();  
  24.      }   
  25.    
  26.      class myThread implements Runnable {   
  27.           public void run() {  
  28.                while (!Thread.currentThread().isInterrupted()) {    
  29.                        
  30.                     Message message = new Message();   
  31.                     message.what = TestHandler.GUIUPDATEIDENTIFIER;   
  32.                       
  33.                     TestHandler.this.myHandler.sendMessage(message);   
  34.                     try {   
  35.                          Thread.sleep(100);    
  36.                     } catch (InterruptedException e) {   
  37.                          Thread.currentThread().interrupt();   
  38.                     }   
  39.                }   
  40.           }   
  41.      }   

0 0