【发布时间】:2022-11-14 23:51:25
【问题描述】:
我需要在.onItemSelectedListener 之外的微调器中检索选定的字符串。 下拉菜单包含“每周、每月、每年”字符串,我需要检索该选定项字符串,以便在函数外部的条件条件中使用它们。
我只看到有人在 onItemSelected 函数中制作 Toasts,但这并不能解决我的问题。
这是我的代码:
val spinner = binding.tvAutoComplete
val powtarzanie = resources.getStringArray(R.array.powtarzanie)
val arrayAdapter = ArrayAdapter(requireContext(),
R.layout.dropdown_powtarzaj_item,
powtarzanie)
spinner.setAdapter(arrayAdapter)
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
val itemText: String = parent?.getItemAtPosition(position).toString()
}
override fun onNothingSelected(parent: AdapterView<*>?) {
TODO("Not yet implemented")
}
}
【问题讨论】:
-
这回答了你的问题了吗? Get the position of a spinner in Android
-
您可以创建全局变量并从 onItemSelectedListener 分配值,这有帮助吗?
-
@FirozMemon 它没有:(
-
@AdityaNandardhane 如何在 kotlin 中创建全局变量?我试过在我的班级顶部做 lateinit var,然后在 .onItemSelectedListener 中分配它,然后使用这个变量,但是启动应用程序时出现错误,说 lateinit 属性尚未初始化
-
我完全明白为什么会有错误,我只是不知道如何让那个字符串在外面使用它
标签: android kotlin spinner onitemselectedlistener