Android 现在不支持View在子线程中创建及调用其方法。如果要实现子线程内容更新之后,将结果及时反馈到主线程中,该如何出来呢?
可以在主线程中创建Handler来实现。 这样子线程的结果,可以通过发消息的形式,通知主线程,然后主线程中去及时更新View控件。
Handler的使用方式:
mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case xxxxxx:
updateLotteryInfo();
break;
default:
break;
}
}
};
发消息的时候,可以: mHandler.sendEmptyMessage(xxxxx);
如果添加内容,可以:mHandler.obtainMessage(MessageName, MessageContent).sendToTarget();
在方法handleMessage 中可以msg.obj.toString() 获取Message的内容。
发送消息还有其他的方式,可以自行查阅
Android 主线程和子线程通信问题
时间: 2024-10-10 05:56:02