错误:表达式的类型必须是数组类型,但它已解析为ArrayList <string> </string>

时间:2012-01-11 12:12:49

标签: android spinner

您好我创建了一个基于xml的简单spinner应用程序。我使用sax解析器在我的xml文件中获取了所有值。我有两个微调器和一个网格视图,第一个微调器显示一个数组列表值第二个微调器显示一个数组列表。同时网格视图在底部显示一些图像。这个过程很好。现在我希望用图像微调器创建文本,所以我在我的资源文件夹中使用row.xml文件,我也改变了我的代码,但我收到错误。我在代码中犯了什么错误.....

错误行:

label.setText(hltag_List[position]);

3 个答案:

答案 0 :(得分:4)

如果是Arraylist,请使用hltag_List.get(position)。

label.setText(hltag_List.get(position));

答案 1 :(得分:2)

请注意您在构造函数中使用了arraylist

public MyAdapter(Context context, int textViewResourceId,   ArrayList<String> hltagList) {
            super(context, textViewResourceId, hltagList);
}

而通过数组访问其元素。只需将您的行更改为

label.setText(hltag_List.get(position));

如果您在数据源中有一个数组:

,请将适配器代码更改为以下代码
public MyAdapter(Context context, int textViewResourceId,   String[] hltagList) {
            super(context, textViewResourceId, hltagList);
        }

并保持一致:

label.setText(hltag_List[position]);

答案 2 :(得分:0)

我认为您应该使用ArrayList.get(int index)来获取列表中的第i个对象。