Спиннер не открывается - PullRequest
0 голосов
/ 19 февраля 2019

Мой счетчик не открывается, когда я нажимаю на него для выпадающего меню.Любая помощь??Мой список элементов находится внутри строкового ресурса.

class CreateIssueFragment : Fragment() {

var spinner: Spinner? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val rootView: View = inflater.inflate(R.layout.fragment_create_issue, container, false)
    spinner = activity?.issueTypesSpinner
    loadSpinner()
    return rootView
}

private fun loadSpinner() {
    ArrayAdapter.createFromResource(context, R.array.issue_types_array, android.R.layout.simple_spinner_item)
            .also { adapter ->
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
                spinner?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
                    override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
                        parent.getItemAtPosition(position).toString()
                    }

                    override fun onNothingSelected(parent: AdapterView<*>) {
                    }
                }
                spinner?.adapter = adapter

            }
}
}

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019
class CreateIssueFragment : Fragment() {


override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val rootView: View = inflater.inflate(R.layout.fragment_create_issue, container, false)
    return rootView
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    loadSpinner()

}

private fun loadSpinner() {
    val list = context?.resources?.getStringArray(R.array.issue_types_array)


    ArrayAdapter.createFromResource(context, R.array.issue_types_array, android.R.layout.simple_spinner_item)
            .also { adapter ->
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
                issueTypesSpinner?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {

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

                    override fun onNothingSelected(parent: AdapterView<*>) {
                    }
                }
                issueTypesSpinner?.adapter = adapter
            }

}

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

Попробуйте заменить так:

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

    }

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

    }

}
...