2017-08-29 18 views
1

editText条件を確認しようとしています。以下のコードでは、setOnClickListenerメソッドを宣言して、editTextの状態を確認しました。条件が真であれば、トーストメッセージを印刷し、アクティビティを変更し、サウンドを出力したいと思います。条件が満たされなければ、1つのメッセージを焼くべきです。どちらの場合も、真であるかどうかにかかわらず、editTextが正しいかどうかにかかわらず、 "Incorect"だけを出力します。ユーザー入力の確認中にエラーが発生しました

私は間違っていますか? Javaで

public void next(View v){ 

    final MediaPlayer correctSound = MediaPlayer.create(this, R.raw.correctsound); 
    Button playCorrectSound = (Button) this.findViewById(R.id.angry_btn1); 

    final EditText editTextt = (EditText) findViewById(R.id.editText); 

    playCorrectSound.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      editTextt.setVisibility(View.INVISIBLE); 
      if(editTextt.getText().toString() == "string") 
      { 
       Toast.makeText(getApplicationContext(), "Correct", Toast.LENGTH_SHORT).show(); 
       correctSound.start(); 
       Intent i = new Intent(Hereuu.this, MainActivity.class); 
       startActivity(i); 
      } else { 
       Context context = getApplicationContext(); 
       CharSequence text = "Incorect"; 
       int duration = Toast.LENGTH_SHORT; 
       Toast toast = Toast.makeText(context, text, duration); 
       toast.show(); 
      } 
      editTextt.setVisibility(View.VISIBLE); 

     } 
    }); 

} 

答えて

0

、あなた

は基本的には、あなたがチェックしています。 .equals(String)を使用すると、メソッドはコンテンツをチェックします。

ヒント: Stringsで作業している場合は、NullPointerExceptionの状況を避けるようにしてください。だから、あなたが代わりにeditTextValue.equals("constant")

"constant".equals(editTextValue)を書くべきリンク怒鳴るはあなたが理解するのに役立ちますどのようにStringオブジェクトと文字列の内容の仕事:

Java String.equals versus ==

よろしく

0

私はいくつかの基本的なJAVAのレッスンを取るためにあなたをお勧めします代わりに== チェックthis topic for more details

0

のequalsメソッドを使用して文字列を比較する必要があります。それがあなたを大いに助けます。

今のところ問題は、文字列の等価性をチェックする方法です。文字列に==を使用しないで、String#equals()メソッドを使用します。だから、

変更

editTextt.getText().toString() == "string"

editTextt.getText().toString().equals("string")

0

.equalsなく==とJavaで文字列を比較することを確認します。文の場合は、これを使用してください:誰もが言っていたようにあなたが==演算子を使用するときにオブジェクトの参照が等しい/同じであれば

if(editTextt.getText().toString().equals("string"){ 
関連する問題