几个小时前我创建了this topic,我在user @ J2K的帮助下解决了我的主要问题。 虽然,我认为进度条表现不错......但事实并非如此。
我的循环是:
for(int i = list.size()-1; i >= 0; i--){
}
他说要改变输出方式的价值:
将publishProgress((i * 100)/ list.size())更改为: publishProgress((list.size() - i * 100)/ list.size())
问题是进度条的值不会改变。它始终保持为0。 所以我试着检查一下这些值:
Log.e("Value:", String.valueOf((list.size() - i * 100) / list.size()));
我总是收到:价值:-99 ,并且在循环结束时:
11-07 10:25:43.196:E /错误H:(3187):java.lang.ArithmeticException:除以零
修改:已解决。
查看我的另一个主题的代码,问题是我从列表中删除索引..所以我永远不会得到列表的总大小。
// Where total_list = amount of items in list
int total__ = total_list - i;
publishProgress((total__ * 100) / total_list);
答案 0 :(得分:1)
你的list
是空的..为什么list.size()
返回零...你正在执行除零操作。所以它给你java.lang.ArithmeticException: divide by zero
异常尝试检查列表是否为空或不.. ..