我正在尝试从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。没有变化。
答案 0 :(得分:2)
步骤1:为int
使用Integer
而不是bigPos
第2步:从您的new Integer()
通话中删除remove()
就目前而言,我认为您正在尝试删除一个值为String
的字符串表示形式的bigPos
。 remove()
有两个变体:
remove(int)
按索引删除remove(Object)
按值删除如果出于某种原因您确实真的想将Integer
用于bigPos
,则将remove(new Integer(bigPos))
替换为remove(bigPos.intValue())
。