私は持っていEditText
ます。入力文字のみが必要です:a->z,A->Z,0->9 and @.#,-,_
でキーボード入力のキーを制限するにはどうすればよいEditText
ですか?
質問する
1718 次
5 に答える
7
これを試して
<EditText
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:inputType="text"
android:digits="0123456789......yourcharcters"/>
于 2012-12-14T09:53:01.580 に答える
3
次のコード スニップセットを使用して、正規表現で確認できます。
EditText yourEditText = (EditText)findViewById(R.id.yourEditText );
if( !yourEditText.getText().toString().matches("[a-zA-Z]+") ); // This regex matches only letters
yourEditText.setError( "Error on text, only a->z,A->Z" );
ボタンのクリックなど、イベントにこのコードを追加できます。
必要な正規表現については、インターネットで見つけるか、作成してこのサイトでテストしてみてください: Regexplanet
于 2012-12-14T09:56:30.340 に答える
2
私の頭に浮かぶ最初のアイデアはTextWatcher
、正規表現の構築を使用して、ユーザーが入力したすべての文字を作成して検証することです。
于 2012-12-14T09:52:00.630 に答える
2
あなたはこれを試すことができます
EditText et = new EditText(this);
int maxLength = 3;
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(maxLength);
et.setFilters(FilterArray);
于 2012-12-14T09:52:21.520 に答える
2
これをチェックしてください: android:inputType
適切な組み合わせが見つからない場合は、独自のリスナーを実装し、テキストが変更されるたびに検証します。
于 2012-12-14T09:52:23.407 に答える