Android handler.obtainMessage()传字符串用法

1.使用Thread线程实现Runnable的方式
public class MainActivity extends Activity implements Runnable  {
  private TextView tv;
  Thread mthread;
  Message message;

  @Override
  protected void onCreate(Bundle savedInstanceState)
  {

    mthread=new Thread(this);

    mthread.start();//开启线程

  }

  @Override  
  public void run()  
  {    
    message = handler.obtainMessage();//性能优化后
    message.what=111;  
    message.obj = "12345678";

    handler.sendMessage(message); //发送消息

  }

  private Handler handler = new Handler()
    {
      public void handleMessage(Message msg)
      {
        super.handleMessage(msg);
        switch (msg.what)
       {
         case 111://接收消息

         tv.setText((String)msg.obj);

         Log.e("xxx",(String)msg.obj);

         break;
     }
      };
    };
}

2.使用匿名类的方式
new Thread(new Runnable() {
 @Override
 public void run() {
    message = handler.obtainMessage();//性能优化后
    message.what=111;  
    message.obj = "12345678";

    handler.sendMessage(message); //发送消息
   }
 }).start();

 

你可能感兴趣的:(Android,应用开发)