首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么不能在ArrayAdapter中添加/删除项目?

为什么不能在ArrayAdapter中添加/删除项目?
EN

Stack Overflow用户
提问于 2010-08-13 20:23:48
回答 4查看 34.8K关注 0票数 57

我正在使用ArrayAdapter<CharSequence>来填充要在android.widget.Spinner中列出的项。这一切都很好。

但现在我希望保持项目列表的动态性,即我希望能够在运行时从选择列表中添加/删除项目。但是,当我调用adapter.add(item)adapter.remove(item)时,我总是得到一个UnsupportedOperationException,即使ArrayAdapter类的Javadoc将这两个方法描述为完全可以用于预期的目的。

这是一个bug,真的没有实现,还是我在这里遗漏了什么?

EN

回答 4

Stack Overflow用户

发布于 2010-08-13 20:26:24

您可能使用普通的Java数组(例如,String[])初始化了适配器。尝试使用实现java.util.List接口的工具(例如,ArrayList<String>)。

票数 120
EN

Stack Overflow用户

发布于 2012-09-10 10:32:41

在您的适配器中类-删除项目

remove(position);
notifyDataSetChanged();

添加项目-

adapter.add (newItem);
adapter.notifyDataSetChanged ();
票数 2
EN

Stack Overflow用户

发布于 2020-11-19 08:15:02

您可以像这样尝试:

new ArrayList<>(Arrays.asList(recentlyClient))

示例代码如何实现:

String[] recentlyClient;

ArrayAdapter<String> recenAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,new ArrayList<>(Arrays.asList(recentlyClient)));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3476723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档