自定义ListView适配器引发UnsupportedOperationException

自定义ListView适配器引发UnsupportedOperationException,第1张

自定义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);}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5506518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存