1 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個贊
內(nèi)部doInBackground()調(diào)用publishProgress(value),其中 value 是一個整數(shù),表示已完成工作的百分比。
這將觸發(fā)onProgressUpdate()并且您獲得先前傳遞的值progress[0],然后您可以相應(yīng)地更新進(jìn)度條。
編輯工作完成百分比的計(jì)算只能在while循環(huán)中進(jìn)行l(wèi)oadFromFile()。因此,在這種情況下,更容易loadFromFile()將其所有代碼刪除并放入doInBackground(). 然后像這樣修改循環(huán):
int counter = 0;
while ((line = br.readLine()) != null) {
String lRatings = line.substring(0,3).trim();
String lVotes = line.substring(4,12).trim();
String lName = line.substring(13).trim();
movies.add(new Movie(lName, lRatings, lVotes));
counter++;
if ((counter % 200) == 0)
publishProgress(counter / 200)
}
該值counter / 200將是已完成工作的 1%,但如果它很耗時,您可以更改它
添加回答
舉報(bào)