J'ai un spinner avec quelques éléments (chaînes) ..__ Je veux ajouter les éléments sélectionnés à une liste. J'ai lu en ligne que je devrais utiliser le onItemSelectedListener
au lieu du onItemClickListener
.
J'ai implémenté ceci mais je ne sais pas comment terminer l'étape consistant à l'ajouter à la liste.
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<*>) {
}
}}}
Merci
(en Kotlin) Utilisez ce code:
yourSpinner?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
}
}
string ne pourra pas vérifier avec '==' mais vous devez utiliser equals ("string")
if (selectedItem.equals("Add new category")) {
// do your stuff
}
J'ai implémenté comme ça . 1. Créer une liste modifiable vide 2. Définissez onItemSelectedListner sur spinner 3. Lorsque l'utilisateur sélectionne un élément, l'ajoute à la liste mutable
Vérifiez ma cette réponse pour plus d'informations. Il vous aidera à: Android Koltin passer les valeurs de spinner à la liste mutable