Ecco il codice che finora ho creato:
List<Integer> list=new ArrayList<Integer>(); Integer[] listaInt={1,2,3,4,5}; Collections.addAll(list, listaInt); ArrayAdapter<Integer> adapter=new ArrayAdapter<Integer>(this,R.layout.testo,list); spinner=(Spinner)findViewById(R.id.spinner1); spinner.setAdapter(adapter); }Adesso voglio l'evento in cui lo Spinner viene selezionato.
Presto fatto:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { Log.d("ITEMSELECTED",""+parent.getSelectedItem()); } @Override public void onNothingSelected(AdapterView parent) { // TODO Auto-generated method stub } });...ottenendo anche il valore dell'elemento selezionato.
Dal momento che l'ArrayAdapter ha immesso degli Integer, presumo che questa sia la causa per cui viene restituito un valore Integer.
Ora metto due spinner, uno dei quali si regola in funzione dell'altro mettendo solo valori più alti di quello che appare nel primo.
Ed è già più complesso...
Posso cominciare con un esercizio in cui partire da un array di Integer e porre in un ArrayAdapter solo valori che soddisfano un certo criterio...
Nessun commento:
Posta un commento