handler知识整理

来源:互联网 发布:修改数据库系统时间 编辑:程序博客网 时间:2024/06/06 02:01

1、Handler可以通过Bundle传递数据:

  1.   Message msg = new Message();  
  2.   msg.what = MainActivity.CANSHU;  
  3.   Bundle bundle = new Bundle();    
  4.   bundle.putString("text1","大明的消息传递参数的例子!");  //往Bundle中存放数据   
  5.   bundle.putString("text2","Time:2011-09-05");  //往Bundle中put数据   
  6.   msg.setData(bundle);//mes利用Bundle传递数据   
  7.   mHandler.sendMessage(msg);//用activity中的handler发送消息  

     handler中接收参数

  1. String str1 = msg.getData().getString("text1");//接受msg传递过来的参数   
  2. String str2 = msg.getData().getString("text2");//接受msg传递过来的参数   

  注意:

       1、尽量使用arg1和arg2传递整型数据,降低开销(lower cost)。

       2、最好不要使用Bundle传递数据,obj可以传递任意类型的数据,但在进程间传递序列化的框架时必须保证非空,并建议传递其他数据时还是以setData()为主;设计obj的主要目的是传递引用数据类型,bundle是可以一次性传递多种基本数据类型的载体。





0 0