2016-03-25 15 views
0

Ich habe eine if-Anweisung, die als Login funktioniert, so vergleicht Nick und Pass für den Benutzer. Das Problem in Frage ist, dass die equals Funktion nicht funktioniert oder zumindest nicht die Art, wie ich es brauche. Beim Debuggen der Zeichenfolge, die von der Eingabe kommt, ist richtig ("c" von idTextInput und "1" von PassTextInput), aber der Vergleich gibt jedes Mal false zurück. Kann mir jemand dabei helfen?Entspricht nicht

btnJackIn.setOnClickListener(
    new Button.OnClickListener(){ 
     public void onClick(View v){ 
      EditText idTextInput = (EditText) findViewById(R.id.txtID); 
      EditText PassTextInput = (EditText) findViewById(R.id.txtPass); 

      if (idTextInput.getText().equals("c") && PassTextInput.getText().equals("1")) { 
       Intent characterPage = new Intent(getBaseContext(), MainCharacterPage.class); 
       characterPage.putExtra("id", idTextInput.getText()); 
       characterPage.putExtra("pass", PassTextInput.getText()); 
       MainActivity.this.startActivity(characterPage); 

      } 
     } 
    } 
); 
+1

ist 'c' vielleicht mit einem Großbuchstaben 'C' geschrieben? Ich glaube, es ist Standard für das erste Zeichen eines EditText – 0xDEADC0DE

+0

Stilisiert die Sprache und den Code ein wenig eingerückt. Es ist einfacher, insbesondere auf mobilen Geräten zu folgen, wenn es nicht zu stark eingerückt ist. –

Antwort

0

Try this ...

idTextInput.getText().toString().equalsIgnoreCase("c") && PassTextInput.getText().toString().equalsIgnoreCase("1") 

Es wird auch von Groß- und Kleinschreibung achten.

1

EditText.getText() gibt ein Editable Objekt, kein String. Versuchen Sie stattdessen:

idTextInput.getText().toString().equals("c") && PassTextInput.getText().toString().equals("1") 
+0

Das war das Problem! danke, ich wusste, dass es einfach war haha ​​ –

-2

ich einmal ein großes Problem mit den & & Aussagen hätte, würde ich versuchen, Code vergleichen sie mit, aber es hat mich immer eine verirrte.

Ex;

if(!FAnswer3.equals(NotConf && Confirm)){ 
    System.out.println("\nSorry, that's not a valid command. Try again!"); 
    continue; 
} 

Dieser Code funktioniert nicht, weil ich die falsche Vergleich Sache bin mit (& &) statt, ich würde! Verwenden müssen = weil es bedeutet, „Wenn es nicht, dass entweder ist,“ in dieser Fall. Überprüfen Sie Ihren Code auf Änderungen in Ihrem Vergleich Doodads und whathaveyous, (vielleicht ändern & & zu == kann es beheben) und wieder kommen, wenn es immer noch nicht funktioniert.

+0

* Ich müsste verwenden! = weil es bedeutet "Wenn es das auch nicht ist", in diesem Fall. * - das ist nicht wahr. Ich weiß auch nicht, woher du das bekommen hast, das hat nichts damit zu tun, Objekte zu vergleichen –

Verwandte Themen