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

时间:2023-03-09 06:43:16
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);