In questo articolo vedremo come creare ed utilizzare la View Spinner
Uno Spinner è un menù a discesa da cui è possibile selezionare vari elementi.
Questo è il codice base per inserire uno Spinner nel proprio layout
Ora occorre dichiarare la variabile di tipo Spinner e associarla allo Spinner in questo modo:
Ora è necessario inserire queste righe di codice che permettono di popolare lo Spinner con i vari elementi che compongono la lista e gestire il click su di essi.
Ecco come si presenta il file MainActivity.kt
Uno Spinner è un menù a discesa da cui è possibile selezionare vari elementi.
Questo è il codice base per inserire uno Spinner nel proprio layout
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Spinner | |
android:id="@+id/sp_option" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//dichiarazione della variabile spinner di tipo Spinner | |
lateinit var spinner: Spinner |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//associazione alla variabile spinner dell'oggetto Spinner con id=sp_option | |
//da inserire all'interno della funzione onCreate() | |
spinner = findViewById(R.id.sp_option) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//dichiarazione della variabile options con la lista degli elementi dello Spinner | |
val options = arrayOf("Elemento 1", "Elemento 2", "Elemento 3", "Elemento 4") | |
//inserimento della lista all'interno dello spinner con layout di tipo: android.R.layout.simple_list_item_1 | |
spinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, options) | |
//gestione del click sui vari elementi dello Spinner | |
spinner.onItemSelectedListener = object: AdapterView.OnItemSelectedListener{ | |
override fun onNothingSelected(parent: AdapterView<*>?) { | |
//inserire qui il codice da eseguire se non è stato selezionato alcun elemento | |
textResult.text = "Nessun elemento selezionato" | |
} | |
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { | |
//inserire qui il codice da eseguire quando un elemento è stato selezionato | |
textResult.text = options.get(position) | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutorialspinner | |
import androidx.appcompat.app.AppCompatActivity | |
import android.os.Bundle | |
import android.view.View //importazione della Classe: View | |
import android.widget.AdapterView //importazione della Classe: AdapterView | |
import android.widget.ArrayAdapter //importazione della Classe: ArrayAdapter | |
import android.widget.Spinner //importazione della Classe: Spinner | |
import android.widget.TextView | |
class MainActivity : AppCompatActivity() { | |
//dichiarazione della variabile spinner di tipo Spinner | |
lateinit var spinner: Spinner | |
//dichiarazione della variabile textResult di tipo TextView | |
lateinit var textResult: TextView | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
//associazione alla variabile spinner dell'oggetto Spinner con id=sp_option | |
spinner = findViewById(R.id.sp_option) | |
//associazione alla variabile textResult dell'oggetto TextView con id=text_option | |
textResult = findViewById(R.id.text_option) | |
//dichiarazione della variabile options con la lista degli elementi dello Spinner | |
val options = arrayOf("Elemento 1", "Elemento 2", "Elemento 3", "Elemento 4") | |
//inserimento della lista all'interno dello spinner con layout di tipo: android.R.layout.simple_list_item_1 | |
spinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, options) | |
//gestione del click sui vari elementi dello Spinner | |
spinner.onItemSelectedListener = object: AdapterView.OnItemSelectedListener{ | |
override fun onNothingSelected(parent: AdapterView<*>?) { | |
//inserire qui il codice da eseguire se non è stato selezionato alcun elemento | |
textResult.text = "Nessun elemento selezionato" | |
} | |
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { | |
//inserire qui il codice da eseguire quando un elemento è stato selezionato | |
textResult.text = options.get(position) | |
} | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
Commenti
Posta un commento