Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
246 views
in Technique[技术] by (71.8m points)

android - How to retrieve the selected item from a spinner of a RecyclerView (using the Recyclical library)?

I am developing an Android application in Kotlin.

I implemented a RecyclerView based on this library.

Each item contains one of the 3 combinations below :

  • a TextView + a TextView
  • a TextView + a Button
  • a TextView + a Spinner

However, I don't know how to retrieve the spinner item that was selected. Can you help me?

Here is my RecyclerView:

rv_parameters.setup {
    withDataSource(parametersList)
    withItem<ParameterText, ParameterTextViewHolder>(R.layout.parameter_text) {
        onBind(::ParameterTextViewHolder) { _, item ->
            parameterName.text = item.parameterName
            parameterText.text = item.parameterValue
        }
    }
    withItem<ParameterButton, ParameterButtonViewHolder>(R.layout.parameter_button) {
        onBind(::ParameterButtonViewHolder) { _, item ->
            parameterName.text = item.parameterName
            parameterButton.text = item.parameterButton

        }
        onClick {
        }
    }
    withItem<ParameterSpinner, ParameterSpinnerViewHolder>(R.layout.parameter_spinner) {
        onBind(::ParameterSpinnerViewHolder) { _, item ->
            parameterName.text = item.parameterName
            parameterSpinner.adapter = item.parameterAdapter
        }
        onClick {
            if(item.parameterName.equals("Led rouge")) {

            } else if (item.parameterName.equals("Led jaune")) {

            }
        }
    }
}

Here is my adapter:

private val parametersList = emptyDataSourceTyped<Any>()

Here is how I add an item to my RecyclerView:

parametersList.add(
    ParameterSpinner(
        "Led rouge", ArrayAdapter(
            this,
            android.R.layout.simple_spinner_item, resources.getStringArray(R.array.LedState)
        )
    )
)

And here is my ViewHolder for a Spinner:

data class ParameterSpinner(
    var parameterName: String?,
    var parameterAdapter: ArrayAdapter<String>
)
question from:https://stackoverflow.com/questions/65897297/how-to-retrieve-the-selected-item-from-a-spinner-of-a-recyclerview-using-the-re

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...