android開發 bug問題解決:Only the original thread that created a view hierarchy can touch its views

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

問題解決

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章