0

ユーザーに1文字だけ入力してもらいたい。文字ごとにボタンを作ろうと思ったのですが、これはダメです。この問題を克服するために何かをお勧めしますか?前もって感謝します..

4

2 に答える 2

2

InputFilter.LengthFilterを使用して、テキストフィールドに入力できる文字数を制限し、カスタムInputFilterを使用して、許可される文字を制限できます。これは私にとって最も単純なアプローチのように聞こえます。

次に例を示します。

EditText myTextField = (EditText) findViewById(R.id.my_text);

InputFilter validCharsInputFilter = new InputFilter() {

        @Override
        public CharSequence filter(CharSequence source, int start, int end,
                Spanned dest, int dstart, int dend) {

            // Loop through characters being inserted
            for (int i = start; i < end; i++) {

                // If it is not a letter 
                if (!Character
                        .isLetter(source.charAt(i))) {

                    // Return empty string - as char not allowed
                    return "";
                }
            }

            // If we've got this far, then return null to accept string
            return null;
        }
    };

myTextField.setFilters(
        new InputFilter[] { new InputFilter.LengthFilter(1), validCharsInputFilter });
于 2011-08-10T15:46:12.350 に答える
0

他のソリューションの中でも、フィールドを作成し、一度に1文字のみを受け入れるようにイベントハンドラーを設定できます。

これはその質問に非常に近いです:編集テキストの検証

于 2011-08-10T14:48:23.063 に答える