Android Spinner OnItemSelected未调用

问题描述 投票:0回答:3

我的Spinner OnItemSelected函数从未调用过。当我点击微调器时,会显示列表。但是当我点击列表中的某个项目时 - 什么也没发生。

val adapter = ArrayAdapter(activity!!,android.R.layout.simple_spinner_item,nameOfClients)
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
        mClientsSpinner.setAdapter(adapter)

        mClientsSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                Toast.makeText(activity!!,nameOfClients[position],Toast.LENGTH_SHORT).show()
                selectedClient = nameOfClients[position]
            }

            override fun onNothingSelected(parent: AdapterView<*>?) {

            }
        }
android kotlin spinner
3个回答
0
投票
              spinner.setOnItemSelectedListener(
                new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent, View view, int pos, 
              long id) {
                    Object item = parent.getItemAtPosition(pos);
                }

                public void onNothingSelected(AdapterView<?> parent) {
                }
            });

0
投票

以下代码为我工作,其中列表是ArrayList<String>

val subjectAdapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list)

//set drop down resource
subjectAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)

//set Adapter
spSelectSubject.adapter = subjectAdapter

//set listner

spSelectSubject.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
    override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
        //your own method
    }

    override fun onNothingSelected(parent: AdapterView<*>) {}
}

0
投票

你能展示你活动的所有代码吗?它是活动或片段还是适配器?

我认为,问题在于“背景”

© www.soinside.com 2019 - 2024. All rights reserved.