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);