ListView中的Android ArrayList项

时间:2012-08-12 17:03:24

标签: android motodev-studio

所以我有这个列表使用了ArrayList中的值(我不能使用String [],因为用户必须将项添加到列表中,而我不能将.add添加到String [])。但是现在我遇到了onItemClick方法的问题。我想从选中的项目中获取文本,我的书中说下面的内容应该有效:

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    dodaj.setText(values[arg2]);

}

但是我收到以下错误:表达式的类型必须是数组类型,但它已解析为ArrayList 我该怎么做才能解决它?

3 个答案:

答案 0 :(得分:1)

是“值”是一个ArrayList吗?如果是这样的话

dodaj.setText( (String)values.get( arg2 ) );

答案 1 :(得分:0)

您必须使用arraylist.toarray()

将arraylist转换为数组

答案 2 :(得分:0)

使用ArrayList,您始终使用

arrayList.get(index);

推荐的方法是在item / Objects中添加toString()方法,以便返回首选字段。

public Student()
{
    ...
    ...
    public String toString()
    {
        return firstName + " " + lastName;
    }
}

现在您可以使用arrayList.get(int index)。它将打印出toString()的输出。