Autore Topic: buffer.toString() non funzionante...  (Letto 381 volte)

Offline MikeKeepsOnShine

  • Utente junior
  • **
  • Post: 84
  • Respect: 0
    • mikekeepsonshine
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Fame , Samsung Galaxy Tab 2 7.0
  • Sistema operativo:
    Windows 7
buffer.toString() non funzionante...
« il: 22 Novembre 2012, 16:15:49 CET »
0
hi there. Sto girando in torno allo stesso problema da giorni e giorni, come testimoniano i miei post precedenti.
Sto cercando di utilizzare i dati presi dal database su host remoto.
Ho un bottone nella mia app che deve cambiare testo in base a questo controllo:
Codice (Java): [Seleziona]
if(buffer.toString()=="APERTO")
                        {
                                button_segnale.setText("APERTO");
                        }
                        else
                        {
                                button_segnale.setText("CHIUSO");
                        }

Controllando usando i Log, buffer.toString risulta uguale ad "APERTO", ma sul virtual device il testo del bottone è "CHIUSO", quindi il controllo buffer.toString()=="APERTO" risulta falso. Potete darmi una mano a capire cosa sto sbagliando?
True perfection has to be imperfect

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
R: buffer.toString() non funzionante...
« Risposta #1 il: 22 Novembre 2012, 16:27:12 CET »
0
Le stringhe in java e android sono oggetti, se fai == non funziona perché stai confrontando i puntatori e non i valori. Devi usare il metodo equals delle stringhe.

Codice (Java): [Seleziona]
if( "APERTO".equals(buffer.toString()) ) {
  //...
}
else {
  //...
}

« Ultima modifica: 22 Novembre 2012, 16:52:06 CET da Sakazaki »

Offline MikeKeepsOnShine

  • Utente junior
  • **
  • Post: 84
  • Respect: 0
    • mikekeepsonshine
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Fame , Samsung Galaxy Tab 2 7.0
  • Sistema operativo:
    Windows 7
Re:R: buffer.toString() non funzionante...
« Risposta #2 il: 22 Novembre 2012, 16:52:04 CET »
0
Le stringhe in java e android sono oggetti, se fai == non funziona perché stai confrontando i puntatori e non i valori. Devi usare il metodo equals delle stringhe.

"APERTO".equals(buffer.toString() )

Mi sento sempre più un mona.
Ti ringrazio!
True perfection has to be imperfect

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:R: buffer.toString() non funzionante...
« Risposta #3 il: 22 Novembre 2012, 16:53:03 CET »
0
Mi sento sempre più un mona.
Ti ringrazio!

Sempre a disposizione per un conterraneo  ;-)

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:R: buffer.toString() non funzionante...
« Risposta #4 il: 22 Novembre 2012, 21:03:39 CET »
0
Sempre a disposizione per un conterraneo  ;-)
trentini o veneti?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
R: buffer.toString() non funzionante...
« Risposta #5 il: 22 Novembre 2012, 21:04:20 CET »
0
Veneto, ma trapiantato in Toscana.