gpt4 book ai didi

java - 从 Android 中的 ListView 中删除最后一项时出错

转载 作者:行者123 更新时间:2023-11-29 07:59:49 24 4
gpt4 key购买 nike

我有一个带有 onListItemListener 的 ListView,我有它,所以如果你点击一个 ListView 项目,它会删除它,但出于某种原因,如果我从列表中删除最后一个项目,应用程序会崩溃并给我这个错误 (java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3)

有人知道这是什么意思吗?

这是我的代码:

 @Override  
protected void onListItemClick(ListView l, View v, int pos, long id) {
super.onListItemClick(l, v, pos, id);
adapter.remove(adapter.getItem(pos));
adapter.notifyDataSetChanged();
}

最佳答案

我假设您传递了 pos = 3 作为参数值。因为列表的大小是 3,所以最后一个元素的位置应该是 2。

*编辑:

请记住, ListView 和适配器的起始索引是不同的。ListView item pos 从“1”作为第一个位置开始,适配器(例如数组)从索引“0”作为第一个位置开始。

adapter.remove(adapter.getItem(pos-1)); 

关于java - 从 Android 中的 ListView 中删除最后一项时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com