2

Androidで文字数を制限する方法について、ちょっとしたコツがありedit textます。

また、テキストの指定には別の問題がinputtypeあります。手順は知ってandroid:inputType="text|textPersonName"いますが、ユーザーが文字、数字、および特殊文字を入力できるため、機能しません。

あなたの助けに感謝します。

前もって感謝します

4

7 に答える 7

10

次の xml 属性を使用して、許可する最大文字数と数字を設定します

android:digits
android:maxLength

例:

<EditText
android:id="@+id/et_name"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:digits="abcdefghijklmnopqrstuvwxyz ."
android:maxLength="10" />

ここでは、小文字のアルファベット、スペース、およびドット (.) のみを使用できます。

アップパテ

javaでフィルタを設定

InputFilter myFilter = new InputFilter() { 
        public CharSequence filter(CharSequence source, int start, int end, 
Spanned dest, int dstart, int dend) { 
                for (int i = start; i < end; i++) { 


                        if (!Character.isLetter(source.charAt(i))) { 
                                return ""; 
                        } 

                        if (i == start) {
                           return source.toUpperCase();
                        }

                } 
                return source; 
        } 
}; 

edit.setFilters(new InputFilter[]{myFilter}); 
于 2012-10-06T14:42:55.753 に答える
1

最初にあなたがしなければならないことは書くことです:

android:maxLength="10"

2番目の質問に関する限り、textPersonNameだけを書くだけで十分です。

android:inputType="textPersonName" 

ここで参照されている入力タイプ

プログラムで実行する場合にのみビットフラグを使用する必要があります。これは次のようになります。

 setInputType(InputType.TYPE_CLASS_TEXT  | InputType. TYPE_TEXT_VARIATION_PERSON_NAME);
于 2012-10-06T13:14:05.140 に答える
1

投稿済みの文字数制限を設定する場合

android:maxLength="10"

XMLファイルのEditTextで。また、ユーザーがアルファベットのみに制限するようにしたい場合は、次のように、JAVAコードでカスタム入力フィルターを作成する必要があります。

InputFilter filter = new InputFilter() { 
        public CharSequence filter(CharSequence source, int start, int end, 
Spanned dest, int dstart, int dend) { 
                for (int i = start; i < end; i++) { 
                        if (!Character.isLetter(source.charAt(i))) { 
                                return ""; 
                        } 
                } 
                return null; 
        } 
}; 

edit.setFilters(new InputFilter[]{filter}); 

ここから取得したコード。

于 2012-10-06T13:16:50.713 に答える
1

これを試して:

android:maxLength="10"

XML ファイルの EditText で。

于 2012-10-06T13:00:21.277 に答える