【发布时间】:2017-03-26 17:29:36
【问题描述】:
如果用户没有在 EditText 上放置所需数量的字符,我如何显示警告?
假设 maxLength 为 17,用户输入 15 个字符,如何警告他们和/或执行一些操作(例如禁用肯定按钮等)
【问题讨论】:
标签: android android-edittext content-length
如果用户没有在 EditText 上放置所需数量的字符,我如何显示警告?
假设 maxLength 为 17,用户输入 15 个字符,如何警告他们和/或执行一些操作(例如禁用肯定按钮等)
【问题讨论】:
标签: android android-edittext content-length
试试这个:在按钮点击期间检查有效性条件
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 在运行时检查条件。
【讨论】:
您可以使用 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
}
});
你可以在 onTextChanged() 方法中检查字符串的长度,然后触发所需的操作。
祝你好运
【讨论】:
你有两个选择:
在 EditText 中添加一个 TextWatcher,如果用户填写的数量少于最小数量,则显示一个错误,并显示 android.support.v7.widget.AppCompatEditText 的 setError 错误,该错误应该在 android.support.design.widget.TextInputLayout 内
但是使用这种方法,您将在用户填写编辑时提示用户。
我的建议是仅在用户单击“确定”按钮时进行验证,这样您就不会显示某种错误并打扰用户。
【讨论】: