设想:-
我有两个ArrayList
列表包含图像
postList 包含所选图像的位置
现在,当我选择图像并按删除菜单时,它应该删除选定的图像。
当我在其中运行代码时debug
,它工作正常并给出期望的输出。
但是当我在正常模式下运行它时,它会崩溃并在上面给出exception
。
if (posList.size() > 0)
{
Toast.makeText(getBaseContext(), "i value" +posList.size(),
Toast.LENGTH_SHORT).show();
for (int i = 0; i < posList.size(); i++)
appAdp.list.remove(appAdp.list.get(posList.get(i)));
appAdp.notifyDataSetChanged();
posList.clear();
Toast.makeText(getBaseContext(), "You deleted selected items",
Toast.LENGTH_SHORT).show();
}
return true;
postList 值在这里
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
boolean checked) {
posList.add(position);
此处显示错误
appAdp.list.remove(appAdp.list.get(posList.get(i)));
日志猫:-
java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
at java.util.ArrayList.get(ArrayList.java:304)
为什么它的行为如此,没有任何线索。
谢谢你的帮助。