2016-10-09 7 views
-1

マイif..else声明:Java - Libgdx:テキストフィールドでユーザーの入力を確認しますか?

if(réponse.getText().equals("")){ 
      réponse.setText(""); 
     } else if(réponse.getText().equals("riviere")){ 
      game.setScreen(new Stage1(game)); 
      music.stop(); 
     } 
     else if(!réponse.getText().equals("riviere")){ 
      ecrireLeTexte = true; 
     } 

私はテキストフィールドを作成し、すぐにそれに何があるか確認してくださいが、私は、ユーザーがテキストフィールドのチェックの前に、何も入力することはできません怖い...

入力後にユーザーの入力を確認するにはどうすればよいですか?

+1

私はあなたがそれをもう少し明確にするのは良い考えかもしれません求めているものを完全にはよく分かりません。しかし、あなたのコードも少しばかりです:最初の 'if'文はなぜ持っていますか?かなり冗長です。単にそれを削除し、 'else if'を最初の' if'に変換することができます。さらに、文字列は非常に壊れやすい方法で、ユーザーの選択肢が間違っているなど、簡単に間違って入力する可能性があります。少なくとも、レスポンス文字列を最初に小文字にすると、少し強固な比較ができますが、お勧めするのは難しいです。 –

+0

あなたが何を求めているかは非常に不明です。また、あなたは、その質問に対する妥当性の観点から考えることができるすべてのタグを投げ捨てただけのようです。 – IronMonkey

答えて

0

変更をリッスンするために、各フレームと呼ばれたり、あなたのTextFieldにTextFieldListener設定されますので、あなたのrenderメソッドで小切手を置くことができます。

réponse.setTextFieldListener(new TextField.TextFieldListener() { 
    @Override 
    public void keyTyped(TextField textField, char c) { 
     //Here you can compare the text 
    } 
}); 

また、ステージをInputProcessorとして設定することも忘れないでください。 Gdx.input.setInputProcessor(stage);

+0

私は文字を取得する必要はありませんが、私は文字列、どうすればいいですか? –

+0

テキスト全体を取得したい場合は、リスナーの中で 'textField.getText()'を使うべきです。しかし文字列にchar cをキャストしたい場合は、 'String.valueOf(c)'を使用することができます – pr0gramist

+0

速い答えをありがとうが、私はそれを得ていませんでした。 –

関連する問題