【发布时间】:2017-02-03 20:35:30
【问题描述】:
我编写了一些代码来逐步将大量图片加载到图像视图中。但是如果我运行代码,我会得到 Index Out of Bound Exception: Invalid index 16, size is 15
这是我的代码
int steps = 5;
int tmp = 0;
for (int j = 0; j < imageUrl.size(); j++) {
if (imageUrl.size() < steps) {
for (int i = 0; i < imageUrl.size(); i++) {
buildPicture(imageUrl.get(tmp));
imageUrl.remove(tmp);
tmp++;
}
} else if (imageUrl.size() >= steps) {
for (int i = 0; i < steps; i++) {
buildPicture(imageUrl.get(tmp));
imageUrl.remove(tmp);
tmp++;
}
}
}
拜托,你能帮我修复我的代码吗?
【问题讨论】:
-
您是否尝试过使用调试器单步执行您的代码?
-
从这段代码中不清楚你期望
tmp的价值是什么——你想用它来实现什么?您是否考虑过在外部循环的第二次迭代开始时会发生什么? -
是的,例如,我尝试使用大小为 24 的 imageUrl,循环在 12 次运行后终止。
-
我有一个 X 项的 ArrayList。我想要的也是拿 5 个项目并将它们放入 imageView 中。循环应该重复直到 ArrayList 结束。我认为 tmp 是我对 ArrayList 的索引。
-
不确定您要做什么,但请注意
t仅在循环之前设置为 0。这就是你的意思吗?
标签: java for-loop indexoutofboundsexception