子线程更新UI(非Handle)

Only the original thread that created a view hierarchy can touch its views.

翻译:子线程不可以去更新UI的主线程

方法一:

使用Handle

handle发送

Bundle bun = new Bundle();
Message msg = new Message();
bun.putString("result", result);
msg.setData(bun);
msg.what = 1;
handler.sendMessage(msg);

handle接收

Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case 0:
              
                break;
            case 1:
             
                break;
            case 2:
               
                break;
        }
    }
};

方法二:

使用简单的代码:

((Activity) context).runOnUiThread(new Runnable() {

    @Override
    public void run() {
        Toast.makeText(context, "这里写你要更新ui的代码: " + e.getMessage(),
                Toast.LENGTH_SHORT).show();
    }
});


你可能感兴趣的:(thread,线程,主线程,子线程,子线程更新Ui)