android中跨线程向控件传值的问题

activity.oncreate(bundle savedinstancestate)中创建一个handler类的实例, 在这个handler实例的handlemessage回调函数中调用更新界面显示的函数。例如:

Handler errHandler = null; 
public void onCreate(Bundle savedInstanceState) {
       errHandler=new Handler()
        {
            @Override
            public void handleMessage(Message msg){ 
                Bundle b =msg.getData();
                int code=b.getInt("code");
                String reason=b.getString("reason");
                
                openFailPage(code,reason);//在这里面刷新控件
        } 
    
        
}

在其他线程中传值:

  Message obj=new Message();
  Bundle b =new Bundle();
  b.putInt("code", 2061);
  b.putString("reason", "卡操作请求失败");
  obj.setData(b); 
  errHandler.sendMessage(obj);

 

posted @ 2015-08-25 18:00  DaFanJoy  阅读(365)  评论(0编辑  收藏  举报