Java 如何在Android中检查字母表验证的EditText
在我的应用程序中,我想使用Java 如何在Android中检查字母表验证的EditText,java,android,android-edittext,android-textinputedittext,Java,Android,Android Edittext,Android Textinputedittext,在我的应用程序中,我想使用EditText,为此,我应该为此EditText设置limited 在我的EditText中,仅支持字母表(a-z,a-z),为此我编写了以下代码: registerUsernameEdtTxt.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i
EditText
,为此,我应该为此EditText
设置limited
在我的EditText
中,仅支持字母表(a-z,a-z),为此我编写了以下代码:
registerUsernameEdtTxt.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
registerUsernameEdtTxt.setFilters(new InputFilter[]{new InputFilter() {
public CharSequence filter(CharSequence src, int start,
int end, Spanned dst, int dstart, int dend) {
if (src != null && src.length() > 0 && dstart == 0) {
if (src.toString().matches("[a-zA-Z ].*")) {
registerUsernameInptLay.setErrorEnabled(false);
return src;
}
} else {
registerUsernameInptLay.setError(context.getResources().getString(R.string.insertJustEnglish));
}
return "";
}
}});
}
XML代码:
<android.support.design.widget.TextInputLayout
android:id="@+id/registerUsernameInptLay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/registerUserNameErrTxt"
app:counterEnabled="true"
app:counterMaxLength="20">
<EditText
android:id="@+id/registerUsernameEdtTxt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:hint="@string/registerUsername"
android:inputType="text"
android:textColor="@color/darkBlueGrey"
android:textSize="@dimen/font16" />
</android.support.design.widget.TextInputLayout>
<string name="insertJustEnglish">Username can only start with alphabet characters.</string>
但当写入字符显示此错误时:
<android.support.design.widget.TextInputLayout
android:id="@+id/registerUsernameInptLay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/registerUserNameErrTxt"
app:counterEnabled="true"
app:counterMaxLength="20">
<EditText
android:id="@+id/registerUsernameEdtTxt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:hint="@string/registerUsername"
android:inputType="text"
android:textColor="@color/darkBlueGrey"
android:textSize="@dimen/font16" />
</android.support.design.widget.TextInputLayout>
<string name="insertJustEnglish">Username can only start with alphabet characters.</string>
用户名只能以字母字符开头。
如何修复它?将其写入您的EditText标记中
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
错误是什么?要限制
EditText
,可以在xml中使用android.digits
。使用后文本更改()方法编写代码在EditText中添加android:digits=“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”tag@ADM,我只想支持字母表,而不是数字o其他字符!只是alphabet@AmitRanjan我不工作!