Androidで文字数を制限する方法について、ちょっとしたコツがありedit text
ます。
また、テキストの指定には別の問題がinputtype
あります。手順は知ってandroid:inputType="text|textPersonName"
いますが、ユーザーが文字、数字、および特殊文字を入力できるため、機能しません。
あなたの助けに感謝します。
前もって感謝します
Androidで文字数を制限する方法について、ちょっとしたコツがありedit text
ます。
また、テキストの指定には別の問題がinputtype
あります。手順は知ってandroid:inputType="text|textPersonName"
いますが、ユーザーが文字、数字、および特殊文字を入力できるため、機能しません。
あなたの助けに感謝します。
前もって感謝します
次の 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});
最初にあなたがしなければならないことは書くことです:
android:maxLength="10"
2番目の質問に関する限り、textPersonNameだけを書くだけで十分です。
android:inputType="textPersonName"
ここで参照されている入力タイプ
プログラムで実行する場合にのみビットフラグを使用する必要があります。これは次のようになります。
setInputType(InputType.TYPE_CLASS_TEXT | InputType. TYPE_TEXT_VARIATION_PERSON_NAME);
投稿済みの文字数制限を設定する場合
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});
ここから取得したコード。
これを試して:
android:maxLength="10"
XML ファイルの EditText で。