Android编程之消息机制实例分析

2019-12-10 19:53:18王振洲
  •     button.setOnClickListener(this);      text = (TextView)findViewById(R.id.content); 
  •   }    public void onClick(View v) { 
  •     switch (v.getId()) {      case R.id.btn: 
  •       thread = new MyThread();        thread.start(); 
  •       break;      }    
  •   }      private class MyHandler extends Handler{     
  •     public MyHandler(Looper looper){        super(looper); 
  •     }      @Override 
  •     public void handleMessage(Message msg) {//处理消息        text.setText(msg.obj.toString()); 
  •     }       } 
  •   private class MyThread extends Thread{      @Override 
  •     public void run() {        Looper curLooper = Looper.myLooper(); 
  •       Looper mainLooper = Looper.getMainLooper();        String msg ; 
  •       if(curLooper==null){         mHandler = new MyHandler(mainLooper); 
  •        msg = "curLooper is null";        }else{ 
  •        mHandler = new MyHandler(curLooper);         msg = "This is curLooper"; 
  •       }        mHandler.removeMessages(0); 
  •       Message m = mHandler.obtainMessage(1, 1, 1, msg);        mHandler.sendMessage(m); 
  •     }    }