当前位置: 首页 > 知识库问答 >
问题:

当spinner需要XML字符串数组时,将数组从Kotlin设置为Android spinner

龙成仁
2023-03-14

我通过在XML参考资料中设置string-array来使用Android的spinner来处理静态值。这是没有问题的。

val managerSpinner: Spinner = binding.spinnerManager
        val managerList: MutableList<String> = mutableListOf()
        var managerArr: Array<String>

        viewModel.managers.observe(viewLifecycleOwner, {
            if (null != it) {
                it.items?.forEach { manager ->
                    managerList.add(manager.fullname!!)
                }
                managerArr = managerList.toTypedArray()
                ArrayAdapter.createFromResource(
                        activity?.applicationContext!!,
                        managerArr!!,
                        android.R.layout.simple_spinner_item
                ).also { adapter ->
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
                    managerSpinner.adapter = adapter
                }
            }
        })

共有1个答案

安泰平
2023-03-14

像这样怎么样:

  1. 它使用ArrayAdapter构造函数,而不是使用CreateFromResource函数工厂
  2. 使用AddAll函数添加项目
val managerSpinner: Spinner = binding.spinnerManager
        val managerList: MutableList<String> = mutableListOf()
        var managerArr: Array<String>

        viewModel.managers.observe(viewLifecycleOwner, {
            if (null != it) {
                it.items?.forEach { manager ->
                    managerList.add(manager.fullname!!)
                }
                managerArr = managerList.toTypedArray()
                ArrayAdapter(
                        activity?.applicationContext!!,
                        android.R.layout.simple_spinner_item
                ).also { adapter ->
                    adapter.addAll(managerArr)
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
                    managerSpinner.adapter = adapter
                }
            }
        })

 类似资料:
  • 问题内容: 我有一个如下的文本文件。我想读取给定值作为浮动列表。之后,我将进行一些计算。我使用了拆分功能和转换来浮动。但是我不能转换第一个和最后一个,因为这两个都有方括号。([])。它给出了如下错误。 文件格式 错误 我使用的代码 任何人都可以给我一个想法,如何将这些值读入如下所示的float数组中。 然后我可以调用X [1],X [999]之类的值 问题答案: 用于将每一行解析为浮点数列表: 每

  • 如何在Kotlin中将字符串转换为字符串数组?为了证明这一点,我有: 我想把它转换成。

  • Kotlin有许多速记和有趣的特性。所以,我想知道是否有一些快捷的方法可以将字符串数组转换为整数数组。与Python中的此代码类似:

  • 问题内容: 因此基本上,用户是从扫描仪输入中输入序列。 等等。 它可以是任意长度,并且必须是整数。 我想将输入的字符串转换为整数数组。 所以会,就等 有什么提示和想法吗?我正在考虑实现获取先前的编号并将它们解析在一起,并将其应用于数组中的当前可用插槽。但是我不太确定如何编写代码。 问题答案: 您可以从扫描仪中读取整个输入行,然后将其分开,然后得到一个,将每个数字解析为与索引一对一匹配的…(假设输入

  • 我是初学C#的,我想为学校创建一个计算器,但是在第45行出现了一个错误。错误消息:字符串长度必须正好为一个字符。我认为在拆分String数组然后另存为char数组之后会有一个错误。但我不知道为什么,也许是假的。 代码部分: 错误消息由char[]发送。 我想我有一个从字符串[]分裂的翻译错误

  • 问题内容: 我正在尝试找到一种将String拆分为String数组的方法,并且每当遇到白色香料时就需要对其进行拆分,例如 “嗨,我是保罗” 进入” “嗨”“我”“保罗” 如何使用RegularExpression在split()方法中表示空格? 问题答案: 您需要一个正则表达式,例如,这意味着: 每当遇到至少一个空格时就进行拆分 。完整的Java代码是: