两个或更多操作的进度条

时间:2014-08-20 17:41:47

标签: android android-asynctask progress-bar percentage onupdate

我在AsyncTask的doInBackground方法中有这个代码:

    for (int i = 0; i < lenght; i++) {
        // Do something

        count++;
        publishProgress(count * 100 / lenght);
    }

一切正常。如果我添加另一个操作,如何用进度条反映这个?

现在我有了这段代码:

    for (int i = 0; i < lenght1; i++) {
        // Do something

        count++;
        publishProgress(count * 100 / lenght1);
    }

    for (int i = 0; i < lenght2; i++) {
        // Do something 

        count++;
        publishProgress(count * 100 / lenght2);
    }

当操作1开始时,如何使条从0开始,当操作2结束时,如何从条100开始?我试图将计数* 100更改为计数* 50,但似乎不是正确的方法......

1 个答案:

答案 0 :(得分:1)

找到涉及length1和length2的算术公式,以相应地发布进度。

例如,如果你想为每次增加的计数赋予相同的权重而100%意味着计数== length1 + length2,那么你可以使用这样的东西:publishProgress(count * 100 / (length1+length2));