我正在使用ArrayAdapter<CharSequence>
来填充要在android.widget.Spinner
中列出的项。这一切都很好。
但现在我希望保持项目列表的动态性,即我希望能够在运行时从选择列表中添加/删除项目。但是,当我调用adapter.add(item)
或adapter.remove(item)
时,我总是得到一个UnsupportedOperationException
,即使ArrayAdapter
类的Javadoc将这两个方法描述为完全可以用于预期的目的。
这是一个bug,真的没有实现,还是我在这里遗漏了什么?
发布于 2010-08-13 20:26:24
您可能使用普通的Java数组(例如,String[]
)初始化了适配器。尝试使用实现java.util.List
接口的工具(例如,ArrayList<String>
)。
发布于 2012-09-10 10:32:41
在您的适配器中类-删除项目
remove(position);
notifyDataSetChanged();
添加项目-
adapter.add (newItem);
adapter.notifyDataSetChanged ();
发布于 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)));
https://stackoverflow.com/questions/3476723
复制相似问题