Autore Topic: Spinner ed IF  (Letto 201 volte)

Offline rockietto

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite - Galaxy S3
  • Sistema operativo:
    Ubuntu 16.04 - Windows 10
Spinner ed IF
« il: 18 Giugno 2016, 22:56:31 CEST »
0
Ciao, premetto di essere un vero neofita in materia, ma vengo subito al dunque. In sintesi, ho uno spinner con al suo interno diversi valori preimpostati, e fin qui tutto bene. Ora voglio che se viene selezionata una certa voce, per esempio "Pomodoro", si svolga una certa azione. Ora, nel mio codice di esempio non riesco a farlo funzionare, e non riesco a capire dove sto sbagliando!
Potete darmi una mano?

Codice (Java): [Seleziona]
public void onItemSelected(AdapterView<?> arg0, View arg1,
                                       int arg2, long arg3) {
               
                TextView Text = (TextView)findViewById(R.id.textView2);
                if(spinner.getSelectedItem().toString()== "Pomodoro") {
                    Text.setText( "OK");
                }

Offline Carni

  • Utente junior
  • **
  • Post: 56
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    R3D5HA
  • Sistema operativo:
    Windows 10
Re:Spinner ed IF
« Risposta #1 il: 19 Giugno 2016, 01:16:26 CEST »
0
Ti consiglio di riguardarti la programmazione ad oggetti. Comunque il tuo problema é che con il doppio uguale (==) controlli o i valoro di variabili di tipo semplice (int, char, double, insomma tutto ció che non è oggetto) o controlli i puntatori degli oggetti.
Poichè String é una classe, e quindi quella variabile sarà un oggetto, in quel modo stai controllando i valori dei relativi puntatori, i quali non saranno uguale perché sono due oggetti con puntatori diversi. Allora qui entra in gioco il metodo equals, il quale controlla gli attributi dell'oggetto e non i puntatori
Quindi per il tuo caso sarebbe in questo modo:
Codice (Java): [Seleziona]
if(spinner.getSelectedItem().toString().equals("Pomodoro")) {

}

Offline rockietto

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite - Galaxy S3
  • Sistema operativo:
    Ubuntu 16.04 - Windows 10
Re:Spinner ed IF
« Risposta #2 il: 20 Giugno 2016, 22:49:41 CEST »
0
Si, hai ragione, mi sono confuso con il C#