1、理论:他是个循环的过程,一个进度数的累加,当到达一定值后,触发某个事件;
2、实现的过程:
(1)、定义一个线程:操作的执行体;
//定义一个线程
Runnable progressBar = new Runnable() {
int i = 0;
@Override
public void run() {
i = i + 5;
Message msg = handler.obtainMessage();//得到一个消息对象,Message类由Android操作系统提供
msg.arg1 = i;
//将msg对象的arg1参数的值设为i,用arg1和arg2两个成员变量传递信息,优点是系统性能消耗很少
try {
//设置当前线程睡眠1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//将msg消息加入消息队列中
handler.sendMessage(msg);
//===最后触发的事件
if (i == 100) {
handler.removeCallbacks(progressBar);
//移除此线程对象
}
}
};
(2)、handler的异步操作:
//使用匿名内部类来覆写handleMessage方法
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
firstBar.setProgress(msg.arg1);
//触发一次线程
handler.post(progressBar);
}
};
(3)、初始化时第一次开启线程:
handler.post(progressBar);