Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
android_spinner [2022/10/17 15:59] enrique_mieza_sanchez [Connectant les callback dels Spinner] |
android_spinner [2022/10/17 17:03] (actual) enrique_mieza_sanchez [Creació d'un spinner de forma gràfica] |
||
---|---|---|---|
Línia 28: | Línia 28: | ||
Però nosaltres volem un // | Però nosaltres volem un // | ||
- | Som-hi: | + | <WRAP todo> |
- | - Crear el '' | + | |
+ | - Crea el '' | ||
- Crear la [[https:// | - Crear la [[https:// | ||
- Assignem el valor de l' | - Assignem el valor de l' | ||
- En el codi, poder recollir el valor del Spinner amb < | - En el codi, poder recollir el valor del Spinner amb < | ||
+ | - Posa un botó que quan el premis reculli el valor del '' | ||
+ | </ | ||
\\ | \\ | ||
Línia 64: | Línia 67: | ||
ArrayAdapter< | ArrayAdapter< | ||
R.array.nombres, | R.array.nombres, | ||
- | adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); | ||
spinner.setAdapter(adapter); | spinner.setAdapter(adapter); | ||
</ | </ | ||
Línia 78: | Línia 80: | ||
ArrayAdapter< | ArrayAdapter< | ||
android.R.layout.simple_spinner_item, | android.R.layout.simple_spinner_item, | ||
- | adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); | ||
spinner.setAdapter(adapter); | spinner.setAdapter(adapter); | ||
</ | </ | ||
Línia 87: | Línia 88: | ||
Per poder respondre a les accions de l' | Per poder respondre a les accions de l' | ||
- | Tindrem 2 estratègies bàsiques per a implementar les // | + | Tindrem 2 estratègies bàsiques per a implementar les // |
- | | + | |
- | - Heretar | + | |
+ | ==== Opció 1: objecte OnItemSelectedListener ==== | ||
+ | Crear un objecte tipus '' | ||
+ | |||
+ | <code java> | ||
+ | Spinner spinner = new Spinner(this); | ||
+ | spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | ||
+ | @Override | ||
+ | public void onItemSelected(AdapterView<?> | ||
+ | // la posició del spinner és ' | ||
+ | String string = spinner.getSelectedItem().toString(); | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public void onNothingSelected(AdapterView<?> | ||
+ | |||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ==== Opció 2: heretar OnItemSelechtedListener a la MainActivity ==== | ||
+ | Podem heretar | ||
+ | |||
+ | <code java> | ||
+ | public class SpinnerActivity extends Activity implements OnItemSelectedListener { | ||
+ | ... | ||
+ | |||
+ | protected void onCreate(Bundle savedInstanceState) { | ||
+ | ... | ||
+ | Spinner spinner = new Spinner(this); | ||
+ | spinner.setOnItemSelectedListener(this); | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | public void onItemSelected(AdapterView<?> | ||
+ | int pos, long id) { | ||
+ | // An item was selected. You can retrieve the selected item using | ||
+ | // parent.getItemAtPosition(pos) | ||
+ | } | ||
+ | |||
+ | public void onNothingSelected(AdapterView<?> | ||
+ | // Another interface callback | ||
+ | } | ||
+ | } | ||
+ | </ | ||
Ens resultarà un codi més llegible si fem servir la opció 2, al menys en aquest cas. | Ens resultarà un codi més llegible si fem servir la opció 2, al menys en aquest cas. | ||
- | Segueix la [[https:// | + | Segueix la [[https:// |
* '' | * '' | ||
* '' | * '' |