- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在未选中的情况下从 map 中删除一个值,但由于某种原因,它给了我一个 IndexOutOfBoundsException
itemView.checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
item.isChecked = isChecked
if(isChecked){
map.put(position,true)
} else {
map.removeAt(position)
}
}
这里我有两个复选框,当我选中两个都可以时。当我取消选中第一个时,可以,但是当我尝试取消选中第二个时,它会因此错误而崩溃
java.lang.ArrayIndexOutOfBoundsException: src.length=11 srcPos=2 dst.length=11 dstPos=1 length=-1
问题出在 map.removeAt(position)
处,但我不知道为什么会失败,因为该位置是实际存在的数组中的一个元素。
我正在使用 SparseBooleanArray
。
最佳答案
问题不在于我所说的数组的位置,因为这个数组永远不会改变(我从不删除其中的任何项目,只是删除包含此映射 boolean 值的 map 上的值)
所以问题出在removeAt(position)
示例
我有一个包含 2 个值的 Map 数组
0 - true
1 - true
如果我现在做map.RemoveAt(0)
,我就拥有了
1 - true (actually in position 0 right now)
但现在如果我尝试再次执行map.removeAt(1)
,则位置 1 中没有元素,因此这就是出站的原因
我已经通过在 map 中通过按键删除来解决这个问题
map.remove(position,true)
因此,这将删除 1 - true 值以及仅将 true 值作为该映射的值
关于java - 在 map 中执行removeAt时出现ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61210422/
我是编码初学者,最近在研究 JavaScript 上的链表。 我很困惑,在删除节点时,我是否也应该将删除节点的指针更改为null? RemoveAt(index) 方法是一种自定义方法,用于删除特定索
现在,我知道在 C# 中,数组是一个固定大小的集合。您不能对它们使用 RemoveAt 方法是有道理的,except that the System.Array class, which all ar
我有一个 Telerik Treeview 控件,我添加了关于 RemoveAt(0) 的问题当有 1 个元素无法删除该项目时。这怎么可能? 这是我的例子: - ParentNode |- ch
我尝试通过将我的 Java 实现转换为 Kotlin 来学习 Kotlin。目前我停留在 Kotlin 的以下错误消息“ Unresolved 引用:removeAt” 这是我的 Kotlin 代码:
即使在 RemoveAt() 方法之后,我的列表仍然保持不变,我什至没有收到错误: foreach (var row in queryCandidates.ToList()) { try
我正在看这个,其中 m_Rows 是一个 CAtlList: void CData::RemoveAll() { size_t cItems = m_Rows.GetCount();
简而言之:如何在调用 RemoveAt(0) 时禁用自动滚动回列表框顶部? 背景: 我有一个简单的列表框,我定期将其中的数据混合在一起。 基本上我使用的是状态报告工具。 我的程序的每次迭代都会导致 1
这个问题在这里已经有了答案: Kotlin's List missing "add", "remove", Map missing "put", etc? (10 个答案) 关闭 2 年前。 我有一
我的 GridPanel 中有一堆来自一家商店的 RowIndexes。我想从我的商店中删除这些。如果我只有一个,没问题,Grid 的 View 是 refrsehd,唯一的条目是 away。 但是当
假设我有一个列表,消息,包含三个项目。我不想遍历它们并一次删除一个项目。 for (int i = 0; i = 0; i--) { messages.RemoveAt(i); } 或者只是使
我尝试了很多次来解决这个问题,但我总是得到一个错误,因为它是 ImageList 中的一个图像。我需要什么代码才能从列表中重新添加 删除的图像。这是我的代码(最后一行不起作用)。 int index9
我是 C++ 新手。我知道有一个 std::remove方法从字符串中删除字符,但是是否有某种remove_at 方法允许我删除字符串中特定索引处的字符?例如, string s = "aBcDeF"
我创建了一个Plunker来演示这个问题 https://embed.plnkr.co/pgu7szf9ySwZSitOA5dq/ 如果您删除 #2,您会看到 #5 在最后两个框中出现两次。我无法弄清
我正在创建一个由两个 FormArray、items 和 savedItems 组成的表单。在表单数组中的每个元素上都有一个按钮,可以从数组中删除该元素。 顶部/第一个 FormArray 从对象列表
我有一个 MSDN document for Array.removeAt()功能。 但是当我尝试它时,我收到了这个错误:“Uncaught TypeError: Array.removeAt is
我尝试使用 RemoveAt() 方法从 ListView 中删除特定项目。但是当我第一次删除它时,一些项目会保留下来。 例如:见下图 代码: private void button1_Click(o
C#、.NET4。 我们有一些性能关键代码导致了一些问题。它是一种经过修改的队列,实际上由列表支持。我想知道删除索引 0 处的元素有多昂贵。想到的问题是: 根据 List 的支持方式,是否会在 Rem
我正在按照下面的方式编写新的网络浏览器元素 webnew = new WebBrowser(); webnew.Height = 1024; webnew.Width = 768; webnew.Na
我有一个 QGraphicsScene,其中项目的顺序非常重要。我想在项目列表中的某个索引处添加项目(即调用 items() 时返回的列表)。 我知道 QList 有 removeAt() 和 ins
代码如下: Class Vector Private vector_datas() Private initial_capacity '初始化容量
我是一名优秀的程序员,十分优秀!