如何在子线程中更新UI
- activity、oncreate方法和点击事件都是运行在主线程中的UI线程,主线程用来显示更新UI界面
只有主线程可以修改应用程序的ui,其他线程修改界面是不运行的。
- 修改方法
1 主线程创建一个handler
// 在主线程里面创建消息处理器(handler)
private Handler handler = new Handler() {
@Override
public void handleMessage(android.os.Message msg) {
}
};
2.如果需要在子线程中跟新UI,发送消息
// 2.拿着主线程的handler 发消息 去跟新UI
Message msg = new Message();
msg.obj = bitmap;
handler.sendMessage(msg);
3.调用handler的handler’message方法处理消息,运行在主线程中的,更新UI界面
Bitmap bitmap = (Bitmap) msg.obj;
iv.setImageBitmap(bitmap);