Android Kotlin onItemSelectedListener for spinner无法正常工作

Duk*_*r27 22 android spinner kotlin

我有一个带有一些项目(字符串)的微调器.我想将所选项目添加到列表中.我在网上看到我应该使用onItemSelectedListener而不是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<*>) {

        }
    }}}
Run Code Online (Sandbox Code Playgroud)

谢谢

Mad*_*adi 61

(在Kotlin中)使用此代码:

yourSpinner?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
        override fun onNothingSelected(parent: AdapterView<*>?) {

        }

        override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {

        }

    }
Run Code Online (Sandbox Code Playgroud)


小智 18

谢谢这对我有帮助,它工作正常!

daysSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onNothingSelected(parent: AdapterView<*>?) {

            }

            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {

            }

        }
Run Code Online (Sandbox Code Playgroud)


Raj*_*iya 1

我是这样实现的。1. 创建空可变列表 2. 在微调器上设置 onItemSelectedListner 3. 当用户选择项目时,将其添加到可变列表

检查我的这个答案以获取更多信息。它将帮助你:Android Koltin pass spinner value to mutable list