handler作用是什么?
(1)传递消息Message
(2)子线程通知主线程更新ui
通常与ProgressBar连用Handler显示后台进度效果
//显示进度
progressBar = (ProgressBar)findViewById(R.id.progressbar);
//设置进程
handler=new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
progressBar.setProgress(msg.what);
}
};
//创建新的进程实现一秒变一次进度在进度条上显示
thread=new Thread(){
@Override
public void run() {
super.run();
while (true){
try {
Thread.sleep(1000);//实现一秒变一次进度
int progressMusicNow =0;
try {
progressMusicNow=myService.getProgress();
}catch (Exception e){
}
handler.sendEmptyMessage(progressMusicNow);
} catch (InterruptedException e) {
e.printStackTrace();
}