2016-03-25 9 views
0

私はログインとして機能するifステートメントを持っているので、ニックネームを比較してユーザーに渡します。問題は、equalsの機能が動作していないか、少なくとも私が必要とする方法ではないということです。入力から来る文字列をデバッグするのは正しいですが(idTextInputから "c"、PassTextInputから "1")、比較は毎回falseを返します。誰もこれで私を助けることができますか?等しくない比較

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

は 'c'で、大文字の 'C'が入力されていますか?私はそれがEditTextの最初の文字のための標準だと信じています – 0xDEADC0DE

+0

言語を書式化し、コードを少しインデントしません。特にインデントされていないモバイルデバイスでは、それに従う方が簡単です。 –

答えて

0

はまた、大文字と小文字を区別の世話をします

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

...これを試してみてください。

1

EditText.getText()Editableオブジェクトではなく、文字列を返します。代わりにこれを試してみてください:私は一度& &文で大きな問題を抱えていた

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

これが問題でした!ありがとう、私はそれが単純なhahaだったことを知っていた –

-2

、私はそれを使用してコードを比較しようとするだろうが、それはいつも私に迷走を導きました。

例;

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

私は間違った比較のものを使用していますので、このコードは動作しません、(& &) 代わりに、私が使用する必要があるだろう!=それが意味するので、「それはどちらかではない場合は、」中この場合。あなたのコードをチェックして比較doodadsとwhathaveyousの変更を確認してください(おそらく& &を修正するかもしれません)。まだ動作していなければもう一度やり直してください。

+0

*私は使用する必要があるだろう!=それは "どちらでもないなら、この場合は"を意味するので、*このことは真実ではない。また、私はあなたがどこから得たかわからないし、オブジェクトを比較することとは関係ない –