android - Android 中的 EditText 验证

标签 android validation android-edittext

我的应用程序中有一个 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/

相关文章:

android - 如何更改 ListView 中复选框的文本?

android - 如何将选项卡设置为不可点击

android - 将自定义组件膨胀到 ArrayAdapter

validation - Laravel - 在回调后在验证器中使用变量

字符串中的 Android 返回行 (\n)

android - 如何从 SQLite 中检索特定列并将其显示在 Android 中的 ListView 表单中?

javascript - 如何使用 jQuery 验证表单、阻止提交表单并在指定的 div 中显示正确的错误消息?

php - 在 View 中循环验证错误

android - 当我改变屏幕方向时,Edittext 消失了吗?

java - Android - EditText 在对话框 fragment 中不刷新