我正在尝试从ArrayList删除元素,但是什么也没有发生。
这是针对Android开发课程的-必须通过索引从ArrayList中删除元素。我在删除前后都放了日志,什么也没发生。
// at the top of MainActivity.java
ArrayList<String> notes;
Integer bigPos;
// in a dialog box positive button onClick method
notes.remove(new Integer(bigPos)); // just to force it to execute the integer method
// bigPos is set to pos in the long click listener before the alert.show is executed. I know from logs that the bigPos and notes are in scope. the code RUNS it just doesn't DO anything... notes is the same after the removal.
我希望输出是带有元素#bigPos的注释ArrayList消失。没有变化发生。
最佳答案
步骤#1:对int
使用Integer
,而不是bigPos
步骤#2:从您的new Integer()
呼叫中删除remove()
就目前而言,我认为您正在尝试删除其值是String
的字符串表示形式的bigPos
。 remove()
有两个变体:remove(int)
按索引删除remove(Object)
按值删除
如果出于某些原因您确实真的想对Integer
使用bigPos
,则将remove(new Integer(bigPos))
替换为remove(bigPos.intValue())
。