栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

自定义ListView适配器引发UnsupportedOperationException

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自定义ListView适配器引发UnsupportedOperationException

环顾四周,似乎是使用数组初始化适配器。请参阅带有ArrayAdapter.remove的UnsupportedOperationException和无法在ListView中修改ArrayAdapter:UnsupportedOperationException

尝试使用

ArrayList
而不是
array
赞这样

ArrayList<Weather> weather_data = new ArrayList<Weather>()weather_data.add( new Weather(R.drawable.weather_cloudy, "Cloudy") );// continue for the rest of your Weather items.

如果你感到懒惰,您可以转换

array
ArrayList
这样

ArrayList<Weather> weatherList = new ArrayList<Weather>();weatherList.addAll(Arrays.asList(weather_data));

ArrayList
在您的
WeatherAdapter
类中完成到的转换,您将需要删除
Weather data[] =null;
和的所有引用(例如,在构造函数内部),因为
ArrayAdapter
它为您保留了数据,您可以使用getItem进行访问

因此,在您的

getView
函数内部,您将更
Weather weather = data[position];
改为
Weather weather =getItem(position);

更新 修改您的代码

private void setListViewAdapterToDate(int month, int year, int dv){    setListView(month, year, dv);      if(summaryAdapter != null) {        summaryAdapter.clear();        summaryAdapter.addAll( summaryList );        summaryAdapter.notifyDataSetChanged();     } else {         summaryList.addAll(Arrays.asList(summary_data));         summaryAdapter = new SummaryAdapter(this.getActivity().getApplicationContext(), R.layout.listview_item_row, summaryList);     }    calendarSummary.setAdapter(summaryAdapter);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号