0

アプリにこのコードがあります。edittext の値を受け入れる

        if (ans.equalsIgnoreCase("bag")) {

                btnEnter.setEnabled(false);
            int a=Integer.parseInt(textView2.getText().toString());
            int b=a+10;
            String s1 = String.valueOf(b);
            textView2.setText(s1);  
            Toast.makeText(getApplicationContext(), "Correct",Toast.LENGTH_SHORT).show();

私の問題は、ユーザーが編集テキストに単一のスペースを入れてから「バッグ」に進むと、たとえばこのように間違ったプロンプトが表示されることです

" " = スペース

" " バッグ ----- 間違ったバッグ ----- 正しい

受け入れることができるスペースでそれを設定するにはどうすればよいですか

4

1 に答える 1

2
      String ans2 = ans.trim();
      if (ans2.equalsIgnoreCase("bag")) {

        btnEnter.setEnabled(false);
        int a=Integer.parseInt(textView2.getText().toString());
        int b=a+10;
        String s1 = String.valueOf(b);
        textView2.setText(s1);  
        Toast.makeText(getApplicationContext(), "Correct",Toast.LENGTH_SHORT).show();

トリム()関数

先頭と末尾の空白を省略して、文字列のコピーを返します。

@ρяσsiρєя K は、私が私の削除に戻る前に彼の回答を削除したので、彼の簡略化された編集を追加します。変化する

if (ans2.equalsIgnoreCase("bag")) {

if (ans.trim().equalsIgnoreCase("bag")) {

それなら必要ない

String ans2 = ans.trim();

ただし、特定の状況では、2 番目の変数を使用した方が読みやすさや機能性が向上する場合があります。

編集 スペース間の処理を行うには、試してみてください

if (!ans.contains("") && ans.trim().equalsIgnoreCase("bag")) {

なぜそれが機能しないのかわかりませんが、replace関数を使用できますStrings

       String ans2 = ans.replace(" ", "");
       if (ans2.trim().equalsIgnoreCase("bag")) {
于 2013-03-05T18:36:55.793 に答える