android - 已填充后将项目添加到微调器
问题描述
我在代码的某处创建了一个微调器并用值填充它
val dataAdapter = ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, some_list)
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
mySpinner?.adapter = dataAdapter
我的问题是,在 Kotlin 的完全不同的代码部分中应用适配器后,如何向此微调器添加更多项目?例如,在服务器请求之后
我了解您可以通过以下方式访问适配器
mySpinner?.adapter
但是我该如何添加呢?
编辑。 我了解以下代码中有解决方案
some_list.add("Apple");
dataAdapter.notifyDataSetChanged();
但是,这需要在类或全局级别访问 3 个数据项,而不仅仅是 1 个(微调器)。我知道这可能是唯一的方法,它只是次优,谢谢您的回复
解决方案
您可以使用最新列表创建一个新适配器,然后将其分配给微调器,或者您可以使用您的项目列表创建一个自定义适配器,然后将新项目添加到列表中并调用 notifyDataSetChanged()
推荐阅读
- spring-boot - 使用 JSONObject 作为 @RequestParam 的 Rest 服务的 Spring REST 文档
- 3d - 是否可以将双面性和 alpha 截止值添加到 .obj 文件中?
- r - 为什么绘图不显示在主面板中?
- jmeter - 启动前一个线程组的所有线程时,需要在 Jmeter 中运行线程组
- pine-script - 显示何时达到新的 2 个月高点
- nativescript - Mapbox 不工作给出错误所以告诉我它是如何工作给出以下错误的
- graphql - 构建变异 Graphql 查询
- cmake - 与 Halide 生成器链接的 Pthread 和自省库失败
- java - 有时重复的消息在套接字中突然接收和发送
- laravel - Laravel 6 中的路由不支持 POST 方法