前提:
1.Android的UI线程中最好不要加入耗时间的任务,在子线程中最好。
2.在子线程中更新(操作)是危险的,更新UI最好在主线程实现
3.Handler运行于主线程中,接受子线程的Message,从而操作主线程
现在介绍Handler的2种写法:
void HandleMessage(Message msg),多用于重写方法(@override method)
Handler mHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
// 表明消息是由该程序发送的
if (msg.what == 0x111)
{
bar.setProgress(status);
}
}
};
编辑器可能显示的是如下的,但是点“+”就可以了,“->”应该是C语言里面的东西吧
Handler mHandler = handleMessage(msg) ->{
if(msg.what == 0x111)
{
bar.setProgress(status);
}
}
最后在Thread 里面的void run 加上mHandler.sendMessage(0x111)就可以了