我的应用程序中有一个 Edittext,我希望用户不要将第一个字符输入为空格..但是在输入其他字符后用户可以输入空格,我该怎么做>我有这段代码:
android:id="@+id/referralCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:background="@drawable/formfield_1"
android:hint="@string/referralcode_hint"
android:imeOptions="actionNext"/>
在 java 类中我有一个输入过滤器:
public static InputFilter alphabetsFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source.equals("")) { // for backspace
return source;
}
if (source.toString().matches("[a-zA-Z ]+")) {
return source;
}
return "";
}
};
不允许第一个空白字符,但我希望它允许输入数字和特殊字符
最佳答案
您可以像这样设置 addTextChangedListener
:
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!(s.toString().charAt(0) == ' ')) {
//do whatever you want
//you can show an alert dialog saying the first character should not be a whitespace
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
关于android - Android 中的 EditText 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894514/