如果 EditText 上的字符不符合要求的长度,则显示警告

Display a warning if characters on EditText don't meet the required length

如果用户没有在 EditText 上输入所需数量的字符,我如何显示警告?

假设 maxLength 为 17,用户输入了 15 个字符,如何警告他们and/or执行一些操作(例如禁用肯定按钮等)

您可以使用 textChangeListener:

EditText et = (EditText)findViewById(R.id.my_edit_text);
et.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
    // TODO Auto-generated method stub
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int     after) {
    // TODO Auto-generated method stub
}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
    //check the Strings length here and display warning
} 

});

yoy 可以在 onTextChanged() 方法中检查字符串的长度,然后触发所需的操作。

祝你好运

您有两个选择:

向 EditText 添加一个 TextWatcher,如果用户填写的数量少于最小数量,则显示错误 android.support。v7.widget.AppCompatEditText 应该在 android.support 内.design.widget.TextInputLayout

但是使用这种方法,您将在用户填写编辑时提示用户。

我的建议是仅当用户单击“确定”按钮时才进行验证,这样您就不会显示某种错误并打扰用户。

试试这个:在按钮点击期间检查有效性条件

 button_submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //etNumber is your Edittext
            if (etNumber.getText().toString().trim().length() != 17) {
            //required length
             Toast.makeText(getApplicationContext(), "Number not valid", Toast.LENGTH_SHORT).show();
            etNumber.requestFocus();
            }
        }
    });

选项 2

您可以使用 TextWatcher 在运行时检查条件。