0

几个小时前我创建了这个主题,在用户 @J2K 的帮助下我解决了我的主要问题。虽然,我认为进度条做得很好..但事实并非如此。

我的循环是这样的:

for(int i = list.size()-1; i >= 0; i--){

}

他说要改变我输出值的方式:

将 publishProgress((i * 100) / list.size()) 更改为: publishProgress((list.size() - i * 100) / list.size())

问题是progressbar 的值没有改变。它始终保持在 0。所以我尝试检查这些值:

Log.e("Value:", String.valueOf((list.size() - i * 100) / list.size()));

而且我总是收到:Value: -99,并且在循环结束时:

11-07 10:25:43.196: E/Error H:(3187): java.lang.ArithmeticException: 除以零

编辑:已解决。

查看我的另一个主题的代码,问题是我从列表中删除了索引..所以我永远不会得到列表的总大小。

// Where total_list = amount of items in list
int total__ = total_list - i;
publishProgress((total__ * 100) / total_list);
4

1 回答 1

1

list是空的..这就是为什么 list.size()返回零..你正在用零执行除法操作。所以它给你java.lang.ArithmeticException: divide by zero例外尝试检查列表是否为空..

于 2013-11-07T15:30:48.597 回答