从ArrayList <string> </string>中删除索引

时间:2012-06-30 15:57:51

标签: java android string arraylist

我正在尝试创建一个已经有索引捕获的按钮,只需要从ArrayList<String>ArrayList<Integer>中删除。整数列表删除索引就好了但字符串数组却没有。代码如下:

Globals:
ArrayList<String> QandItem = new ArrayList<String>();
ArrayList<Integer> Prices = new ArrayList<Integer>();
ArrayAdapter<String> left;
ArrayAdapter<Integer> right;

这些是在on create方法中设置和填充的。我知道它们工作正常,因为我在设备上查看它时会得到输出。

RemoveItem.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // TODO
        if(i >= 0){
            QandItem.remove(i);
            Prices.remove(i);
            left.notifyDataSetChanged();
            right.notifyDataSetChanged();
            ItemList.setAdapter(left);
            PriceList.setAdapter(right);
        }
    }
});

i是我要删除的索引。

2 个答案:

答案 0 :(得分:4)

由于我是Integer,您尝试删除对象i而不是位置i处的元素。请尝试使用i.intValue()。 查看ArrayList.remove(int index)ArrayList.remove(Object o)之间的区别。

答案 1 :(得分:1)

如果我是Integer而不是原始int,正如Keppil所问,QandItem.remove(i)将尝试删除它不存在的对象。试试这个:

QandItem.remove(i.intValue())