【发布时间】:2017-09-09 01:44:45
【问题描述】:
我创建了一个简单的类 MapExtension 来适应将 4 个值传递给列表视图适配器,并使用 LinkedHashmap 添加 MapExtension 的 ArrayList。
public class MapExtension {
private String studname;
private String studnumber;
private String schedule;
public MapExtension(String studname, String studnumber, String schedule) {
this.studname = studname;
this.studnumber= studnumber;
this.schedule= schedule;
}
public String getStudname () {
return studname;
}
public String getStudnumber() {
return studnumber;
}
public String getSchedule() {
return schedule;
}
}
每当我尝试从返回 Collections 的 LinkedHashMap 中提取 ArrayList<MapExtension> 时,我都会从不同的试验中得到这些错误(在 cmets 中):
ListViewAdapter(Context context, LinkedHashMap<Integer, ArrayList<MapExtension>> mValues) {
super(context, R.layout.listview_layout, mValues.keySet().toArray());
this.context = context;
//java.lang.ClassCastException: java.util.HashMap$Values
//cannot be cast to java.util.ArrayList
ArrayList mValues = (ArrayList) mValues.values();
// says incompatible as it will become ArrayList<ArrayList<MapExtension>>
ArrayList<MapExtension> mValues = new ArrayList<>(mValues.values());
}
我怎样才能成功地检索它并放入它的兼容类型?
提前致谢。
【问题讨论】:
标签: java android listview arraylist collections