Android Spinner OnItemSelected не вызывается - PullRequest
0 голосов
/ 25 февраля 2019

Моя функция 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<*>?) {

            }
        }

Ответы [ 3 ]

0 голосов
/ 25 февраля 2019

Следующий код работал для меня, где список 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 голосов
/ 26 марта 2019

можете ли вы показать весь код вашей деятельности?Это активность, фрагмент или адаптер?

Я думаю, проблема в «Контексте»

0 голосов
/ 25 февраля 2019
              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) {
                }
            });
...