Похоже, вашей проблемой является метод doWork () (как вы упомянули в комментарии, что в этом методе ничего не делается). Как вы видите, прогресс progressBar зависит от этого метода:
mProgressStatus = doWork();
Предположим, что ваш хронометр обновляется каждую секунду, поэтому индикатор выполнения будет заполнен через 100 секунд. Для этого ваш метод doWork должен возвращать возрастающее значение пройденных секунд, то есть от 1,2,3 ... до 100. Но возвращать только это значение недостаточно, потому что с вашим текущим кодом прогрессбар будет заполнен мгновенно.
Наиболее простым решением будет:
mProgressStatus = 0;
progressThread = new Thread(new Runnable() {
public void run() {
while (mProgressStatus < 100) {
// Update the progress bar
mHandler.post(new Runnable() {
public void run() {
progressBar.setProgress(mProgressStatus);
}
});
mProgressStatus ++;
android.os.SystemClock.sleep(1000); // Thread.sleep() doesn't guarantee 1000 msec sleep, it can be interrupted before
}
}
});
progressThread.start();
Надеюсь, это поможет,
Serhiy.