1 回答

TA贡献1811条经验 获得超5个赞
内部doInBackground()调用publishProgress(value),其中 value 是一个整数,表示已完成工作的百分比。
这将触发onProgressUpdate()并且您获得先前传递的值progress[0],然后您可以相应地更新进度条。
编辑工作完成百分比的计算只能在while循环中进行loadFromFile()。因此,在这种情况下,更容易loadFromFile()将其所有代码删除并放入doInBackground(). 然后像这样修改循环:
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%,但如果它很耗时,您可以更改它
添加回答
举报