2015-11-24 3 views
0

J'ai problème avec mon journal de l'activité .. le bouton chargera l'activité suivante, même si aucune donnée sur le champ introduites texte .. est ici le code ...android: bouton Connexion

public void onButtonClick(View v){ 
     if(v.getId()== R.id.Blogin) { 
      EditText a = (EditText)findViewById(R.id.TFusername); 
      String str = a.getText().toString(); 

      EditText b = (EditText)findViewById(R.id.TFpassword); 
      String pass = b.getText().toString(); 


      String password = helper.searchPass(str); 

      if(pass.equals(password)) 
      { 
       Intent i = new Intent(User.this, Userlog.class); 
       i.putExtra("Username",str); 
       startActivity(i); 
      } 

      else 
      { 
       Toast temp = Toast.makeText(User.this, "Username and Password don't match!", Toast.LENGTH_SHORT); 
       temp.show(); 
      } 

Répondre

0

Vérifier les chaînes vides

remplacer

if(pass.equals(password)) 

avec

if(pass.equals(password) && !TextUtils.isEmpty(str) && !TextUtils.isEmpty(pass)) 

Cela devrait fonctionner.

Vive

+0

MERCI BEAUCOUP les gars –

+0

Pouvez-vous marquer cela comme réponse si elle sert le but – sha

0

Vous pouvez vérifier si un String est vide à l'aide de la méthode textutils de classe isEmpty, qui est un statique un.

// Checks if a username & a password were typed, then checks if password is correct 
if(!TextUtils.isEmpty(str) && !TextUtils.isEmpty(pass) && pass.equals(password)) 

Avis que vous n'êtes pas vérifier si le username est valide ou non.

0

En vous helper. searchPass(), avez-vous retourner une chaîne vide si aucun usrname est adapté Si oui, vous devez vérifier si la chaîne retournée est vide ou vous pouvez retourner une autre valeur particulière: D