2个Handler 的顺序控制 5:00后贴出代码,各位GGJJDDMM,有其他的不同写法或者觉得写法有问题的,欢迎提出,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不好意思,昨天有事出去忘记了Handler 处理,其中 倒计时message.what=1,进度条更新message.what=2, final Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: CountDownTV.setText(getCountdownString()); break; case 2: for(int m=0;m<2;m++){ tv = (TextView) findViewById(mTrackSlotResource[m][TRACK_TEXTVIEW]); pb = (ProgressBar) findViewById(mTrackSlotResource[m][TRACK_PROGRESSBAR]); int progress=pb.getProgress(); if(progress==pb.getMax()){ tv.setText("Checking is completed "); }else if(progress>(3*(pb.getMax())/4)){ tv.setText("Checking completed 3/4..... "); }else if(progress>(2*(pb.getMax())/4)){ tv.setText("Checking usb completed 2/4..... "); }else if(progress>((pb.getMax())/4)){ tv.setText("Checking completed 1/4..... "); }else{ tv.setText("Checking is going..... "); } pb.incrementProgressBy(5); } break; } super.handleMessage(msg); } };倒计时: TimerTask task = new TimerTask(){ public void run() { Message message = new Message(); message.what = 1; for(;mSleepTime>0;mSleepTime--){ handler.sendMessage(handler.obtainMessage(1)); } if(mSleepTime==0){ handler.sendMessage(handler.obtainMessage(2)); isRunning = true; mThread.start(); //mThread控制进度条更新 } } }; 进度条: private void InitialProgress() { mThread = new Thread(new Runnable() { @Override public void run() { Message message = new Message(); message.what = 2; for(int i=0;i<30&& isRunning;i++){ try { Thread.sleep(1000); } catch (InterruptedException e) { } } } }); } android软件不基于广告平台。怎么自定义发广告 怎样用GLSurfaceView 纹理画三角形? target选择AVD时只显示一个AVD(android) 开机自启动问题 关于图片分辨率文件夹的小问题 求教:学习C++需要什么知识(C语言已学过) eclipse报错这个是什么问题啊? android中如何根据已知的多点画出弧度曲线 小白求指教 求问 Eclipse 中 android 手机调试时 如何 一按调试,就能自动点亮手机屏幕 并且 开始运行程序 模拟器错误大家给个主意 用ECLIPSE3.5开发的HELLOWORD程序运行总是失败。。
Handler 处理,其中 倒计时message.what=1,进度条更新message.what=2,
final Handler handler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
CountDownTV.setText(getCountdownString());
break;
case 2:
for(int m=0;m<2;m++){
tv = (TextView) findViewById(mTrackSlotResource[m][TRACK_TEXTVIEW]);
pb = (ProgressBar) findViewById(mTrackSlotResource[m][TRACK_PROGRESSBAR]);
int progress=pb.getProgress();
if(progress==pb.getMax()){
tv.setText("Checking is completed ");
}else if(progress>(3*(pb.getMax())/4)){
tv.setText("Checking completed 3/4..... ");
}else if(progress>(2*(pb.getMax())/4)){
tv.setText("Checking usb completed 2/4..... ");
}else if(progress>((pb.getMax())/4)){
tv.setText("Checking completed 1/4..... ");
}else{
tv.setText("Checking is going..... ");
}
pb.incrementProgressBy(5);
}
break;
}
super.handleMessage(msg);
}
};倒计时:
TimerTask task = new TimerTask(){
public void run() {
Message message = new Message();
message.what = 1;
for(;mSleepTime>0;mSleepTime--){
handler.sendMessage(handler.obtainMessage(1));
}
if(mSleepTime==0){
handler.sendMessage(handler.obtainMessage(2));
isRunning = true;
mThread.start(); //mThread控制进度条更新
}
}
};
进度条:
private void InitialProgress() {
mThread = new Thread(new Runnable() {
@Override
public void run() {
Message message = new Message();
message.what = 2; for(int i=0;i<30&& isRunning;i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
});
}