请先看如下代码:
主要是当mp3开发播放时更新进度条与时间
Runnable runnablethread = new Runnable() {
int i = 0 , j = 0 ;
String s = "00" , m = "00";
@Override
public void run() {
progress_handler.postDelayed(runnablethread, 1005);
mp3_progress.setSecondaryProgress(1 + mp3_progress.getSecondaryProgress());
System.out.println(mp3_progress.getSecondaryProgress() == (mp3_progress.getMax()-1));
if(mp3_progress.getSecondaryProgress() == (mp3_progress.getMax()-1)){
mp3_progress.setSecondaryProgress(0);
time_textview.setText("00:00");
lasttime_textview.setText("00:00");
                                     System.out.println("---- remover runnablethread ----");
progress_handler.removeCallbacks(runnablethread);
                                     当进度条走满了之后,移除Handler,这里也进入了if,也打印机移除信息。可线程还在执行,下面的时间还在走,进度条也重新来过。当把移除代码放在Button的onClick事件时可以移除 }
i++;
if (i < 10) {
s = "0" + (i + "");
} else {
s = i + "";
}
if (i == 59) {
i = 0;
j ++;
if (j < 10) {
m = "0" + j;
}else{
m = "" + j ;
}
}
time_textview.setText(m+":"+s);
}
};请面上面有哪位大神遇到过这类问题,怎么解决?我实要是想不明白了。