Autore Topic: Boolean e equals - valore di ritorno sempre false  (Letto 684 volte)

Offline Danixi

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S plus
  • Sistema operativo:
    Windows vista
Boolean e equals - valore di ritorno sempre false
« il: 22 Luglio 2012, 18:19:14 CEST »
0
Sto imparando adesso a programmare app per android, quindi stavo leggendo vari tutorial e cercavo di capirne il codice.

Leggendo questo codice pensavo di aver capito che alla pressione del tasto invio, in caso il nome inserito sia uguale alla password inserita si sarebbe visualizzato il toast "Login effettuato" mentre in caso fossero diversi il valore di ritorno sarebbe false e quindi visualizzasse il toast "Login errato"...

Testando l'applicazione il toast visualizzato è sempre quello con scritto "Login errato". Cosa non ho capito? dove sbaglio?

Main Activity:

Codice (Java): [Seleziona]
package it.devapp.views;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity
{
        private EditText userName;

        private EditText password;

        private CheckBox restaConnesso;

        @overrite
        public void onCreate(Bundle savedInstanceState)
        {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                userName = (EditText) findViewById(R.id.user_name);
                password = (EditText) findViewById(R.id.password);
                restaConnesso = (CheckBox) findViewById(R.id.resta_connesso);
        }

        public void invia(View v)
        {      
                if (isLoginCorretto(userName.getText(), password.getText()))
               
                {      
                        Toast.makeText(this, "Login effettuato", Toast.LENGTH_LONG).show();
                }
                else
                {      
                        Toast.makeText(this, "Login errato", Toast.LENGTH_LONG).show();
                }
        }

        public void reset(View v)
        {
                userName.setText("");
                password.setText("");
                restaConnesso.setChecked(false);
        }

        private boolean isLoginCorretto(CharSequence nome, CharSequence password)
        {
                return nome.equals(password);
        }
}

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
R: Boolean e equals - valore di ritorno sempre false
« Risposta #1 il: 22 Luglio 2012, 18:46:18 CEST »
0
Hai dimenticato il .toString() dopo il .getText()

Inviato dal mio Galaxy Nexus con Tapatalk 2

Offline Danixi

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S plus
  • Sistema operativo:
    Windows vista
Re:Boolean e equals - valore di ritorno sempre false
« Risposta #2 il: 22 Luglio 2012, 19:04:14 CEST »
0
Esattamente come hai detto ora funziona...

Scusa ma c'ho perso 3 giorni a cercare di carpire dove sbagliavo e non ci riuscivo. Beh.. le prime volte capita  :-[