所以我有这个列表使用了ArrayList中的值(我不能使用String [],因为用户必须将项添加到列表中,而我不能将.add添加到String [])。但是现在我遇到了onItemClick方法的问题。我想从选中的项目中获取文本,我的书中说下面的内容应该有效:
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
dodaj.setText(values[arg2]);
}
但是我收到以下错误:表达式的类型必须是数组类型,但它已解析为ArrayList 我该怎么做才能解决它?
答案 0 :(得分:1)
是“值”是一个ArrayList吗?如果是这样的话
dodaj.setText( (String)values.get( arg2 ) );
答案 1 :(得分:0)
您必须使用arraylist.toarray()
答案 2 :(得分:0)
使用ArrayList,您始终使用
arrayList.get(index);
推荐的方法是在item / Objects中添加toString()方法,以便返回首选字段。
public Student()
{
...
...
public String toString()
{
return firstName + " " + lastName;
}
}
现在您可以使用arrayList.get(int index)。它将打印出toString()的输出。