前提:1.耗时的工作不可以在主线程中进行.
2.Thread子线程不能操作UI界面上的View,会报错.
这种情况下,Handle这种能操作UI界面的线程劫诞生了.
handler.sendEmptyMessage(0);//发送消息到handler
handleMessage接受来自sendEmptyMessage的信息并做处理
public void handleMessage(Message msg) {
switch(msg.what){
case 0://更细下载进度
process += 1;
text.setText("下载" + process + "%");//在主线程中更新UI界面
break;
case 1://提示下载完成
text.setText("下载完成");//在主线程中更新UI界面
break;
default:
break;
}
}

原文:https://www.cnblogs.com/Ravenzzz/p/9986381.html