Autore Topic: Aiuto su come utilizzare gli Spinner  (Letto 4821 volte)

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Aiuto su come utilizzare gli Spinner
« il: 25 Maggio 2010, 13:14:14 CEST »
0
Ciao a tutti, posto per chiedervi consigli sull'uso degli Spinner.

Ho rovistato un pochino in giro ma non sono riuscito a capire come prendere la stringa selezionata all'interno di uno Spinner.

Ho definito il mio spinner in questo modo:
Codice (Java): [Seleziona]
       
        Spinner spinner = (Spinner) findViewById(R.id.campofoto);
           
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this , android.R.layout.simple_spinner_item, apparecchi);
       
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

ora vorrei memorizzare quanto selezionato dall'utente all'interno di una variabile si tipo String ma non funziona.
Quale metodo devo usare, qualcuno saprebbe darmi una mano?

grazie mille!

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Aiuto su come utilizzare gli Spinner
« Risposta #1 il: 25 Maggio 2010, 13:27:00 CEST »
0
Puoi usare il metodo getSelectedItem() facendo un apposito cast a String.

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Aiuto su come utilizzare gli Spinner
« Risposta #2 il: 25 Maggio 2010, 13:28:06 CEST »
0
Tra le varie prove mi sembra di aver tentato pure il metodo che suggerisci, comunque riprovo subito.

Grazie per il consiglio

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Aiuto su come utilizzare gli Spinner
« Risposta #3 il: 25 Maggio 2010, 13:32:05 CEST »
0
prova a definire questo:
Codice (Java): [Seleziona]
        spinner.setOnItemSelectedListener(oicListenerCasa);dove:
Codice (Java): [Seleziona]
private OnItemSelectedListener oicListenerCasa=new OnItemSelectedListener(){
               
                public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                                long arg3) {
                        if (arg1!=null){
                                squadraCasa=String.valueOf(((TextView)arg1).getText());                
                                calcolaValori();
                        }
                }

                public void onNothingSelected(AdapterView<?> arg0) {                   
                        calcolaValori();
                }
               
        };

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Aiuto su come utilizzare gli Spinner
« Risposta #4 il: 25 Maggio 2010, 13:34:46 CEST »
0
prova a definire questo:
Codice (Java): [Seleziona]
        spinner.setOnItemSelectedListener(oicListenerCasa);dove:
Codice (Java): [Seleziona]
private OnItemSelectedListener oicListenerCasa=new OnItemSelectedListener(){
               
                public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                                long arg3) {
                        if (arg1!=null){
                                squadraCasa=String.valueOf(((TextView)arg1).getText());                
                                calcolaValori();
                        }
                }

                public void onNothingSelected(AdapterView<?> arg0) {                   
                        calcolaValori();
                }
               
        };


MMarko nel tuo caso:

Codice (Java): [Seleziona]
String selectedItem;

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

                        @Override
                        public void onItemSelected(AdapterView<?> arg0, View arg1,
                                        int position, long id) {
                               
                                        //se array
                                       //selectedItem=apparecchi[position];
                                       
                                        //se Lista
                                       //selectedItem=apparecchi.get(position);
                               
                        }

                        @Override
                        public void onNothingSelected(AdapterView<?> arg0) {
                               
                               
                        }
                });

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Aiuto su come utilizzare gli Spinner
« Risposta #5 il: 25 Maggio 2010, 13:38:16 CEST »
0
Grazie Qlimax, volevo lasciargli un po' di codice anche per capire come usare i metodi ;-)

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Aiuto su come utilizzare gli Spinner
« Risposta #6 il: 26 Maggio 2010, 21:41:14 CEST »
0
Grazie a tutti per le risposte, precise ed utilissime come al solito.
Mi permetto di riassumere quanto mi è stato suggerito postando il mio codice, in questo modo chiunque desideri utilizzare uno Spinner avrà gia un buon punto di partenza.

Codice (Java): [Seleziona]
   
   public String[] arrayelementi = new String []{"Elemento 1","Elemento 2","Elemento 3"};
   
   public Spinner spinner;
   
   public String selectedItem;
   
       
   public void onCreate(Bundle savedInstanceState) {
       
        super.onCreate(savedInstanceState);
       
        setContentView(R.layout.inserisci);
       
        spinner = (Spinner) findViewById(R.id.idDelloSpinner);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arrayelementi);
       
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
       
        spinner.setAdapter(adapter);

        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

           @Override
           public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) {
                                       
                selectedItem = arrayelementi[position];
                                       
           }

           @Override
           public void onNothingSelected(AdapterView<?> arg0) {
           
           }
           
        });

    }

Grazie ancora :)
Marco

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Aiuto su come utilizzare gli Spinner
« Risposta #7 il: 27 Maggio 2010, 20:40:30 CEST »
0
Approfitto per farvi un'altra domanda, dovrei inserire altri due spinner ma duplicando il codice ovviamente non funziona, qualcuno saprebbe dirmi come si fa?  :-[

Grazie!

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Aiuto su come utilizzare gli Spinner
« Risposta #8 il: 27 Maggio 2010, 21:54:26 CEST »
0
La gestione è del tutto analoga a quella di uno solo.
Se hai problemi posta un po' di codice e gli errori che ricevi su logcat.

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Aiuto su come utilizzare gli Spinner
« Risposta #9 il: 30 Maggio 2010, 10:45:00 CEST »
0
Scusa il ritardo con cui rispondo ma non ho avuto modo di lavorare al mio "progettino android".

Ovviamente hai ragione, il mio codice non funzionava per un piccolo e sciocco errore che ho corretto ;)

Grazie!