68

AndroidのEditTextにアルファベットのみを入力するにはどうすればよいですか?

4

12 に答える 12

61
edittext.setFilters(new InputFilter[] {
    new InputFilter() {
        public CharSequence filter(CharSequence src, int start,
                int end, Spanned dst, int dstart, int dend) {
            if(src.equals("")){ // for backspace
                return src;
            }
            if(src.toString().matches("[a-zA-Z ]+")){
                return src;
            }
            return edittext.getText().toString();
        }
    }
});

ただし、徹底的にテストしてください!

于 2012-01-27T08:40:36.867 に答える
23
EditText state = (EditText) findViewById(R.id.txtState);


                Pattern ps = Pattern.compile("^[a-zA-Z ]+$");
                Matcher ms = ps.matcher(state.getText().toString());
                boolean bs = ms.matches();
                if (bs == false) {
                    if (ErrorMessage.contains("invalid"))
                        ErrorMessage = ErrorMessage + "state,";
                    else
                        ErrorMessage = ErrorMessage + "invalid state,";

                }
于 2010-03-22T11:54:35.597 に答える
21

Xml を使用すると、xml (editText) に次のコードを入力して簡単に実行できます...

android:digits="abcdefghijklmnopqrstuvwxyz"

文字のみ受け付けます...

于 2013-10-24T16:04:20.250 に答える
11

コード edittext xml ファイルを配置し、

   android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
于 2016-03-12T07:30:14.533 に答える
1

これを試して

<EditText
  android:id="@+id/EditText1"
  android:text=""
  android:inputType="text|textNoSuggestions"
  android:textSize="18sp"
  android:layout_width="80dp"
  android:layout_height="43dp">
</EditText>

他のinputTypeは ここにあります..

于 2010-03-02T08:59:00.620 に答える
1
  • android:inputType="text"xmlファイルで属性を使用するだけです

例: ユーザーに電子メール アドレス テキストを提供してもらいたい場合:

 <EditText
    android:id="@+id/user_address"
    android:inputType="textEmailAddress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

Androidスタジオのオートコンプリート機能を使用して、他の多くの入力属性を自由に確認してください: オートコンプリートデモ

于 2022-02-13T20:19:38.770 に答える