我有一个带有一些项目(字符串)的微调器。我想将所选项目添加到列表中。我在网上读到我应该使用onItemSelectedListener
rather而不是onItemClickListener
。
我实现了这个,但我不知道如何完成将其添加到列表中的步骤。
class NewKitListActivity : AppCompatActivity() {
var spinnerArray = arrayOf("Dumbell", "Punching Bag", "Yoga Ball", "Skipping Rope")
//var spinnerArray = arrayOf(DataService.kitList)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new_kit_list)
val spinner = newKitItemSpinner
val spinnerArrayAdapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray)
//selected item will look like a spinner set from XML
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
spinner.adapter = spinnerArrayAdapter
spinner.onItemSelectedListener = object : OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
val selectedItem = parent.getItemAtPosition(position).toString()
if (selectedItem == "Add new category") {
// do your stuff
}
} // to close the onItemSelected
override fun onNothingSelected(parent: AdapterView<*>) {
}
}}}
谢谢
(在Kotlin中)使用此代码:
yourSpinner?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
}
}
字符串将无法使用'=='进行检查,而是需要使用equals(“string”)
if (selectedItem.equals("Add new category")) {
// do your stuff
}
谢谢这对我有帮助,它的工作正常! daysSpinner.onItemSelectedListener = object:AdapterView.OnItemSelectedListener {override fun onNothingSelected(parent:AdapterView <*>?){
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
}
}
我是这样实现的。 1.创建空可变列表2.在微调器3上设置onItemSelectedListner。当用户选择项时将其添加到可变列表
查看我的答案以获取更多信息。它会帮助你:Android Koltin pass spinner values to mutable list