android开发 bug问题解决:Only the original thread that created a view hierarchy can touch its views.
翻译:只有创建视图层次结构的原始线程才能触及其视图。(意思就是在异步线程中不能更新主线程UI)
解决办法之一
创建一个handler去更新UI线程
代码实现
1、handler处理返回数据请求,并更新数据到UI线程中
@SuppressLint("HandlerLeak")
Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String busMessage = msg.obj.toString();
Log.e(TAG, "Handler得到的信息:" + busMessage);
//更新UI线程
txtInit.setText(busMessage);
}
};
2、在异步线程接收处理中,调用handler发送需要更改的数据
public void sendMsg(String msg) {
Log.e(TAG, "得到的信息:" + msg);
Message message = new Message();
message.obj = msg;
myHandler.sendMessage(message);
}
问题解决