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);
}
問題解決