如果用户没有在EditText上放置所需数量的字符,如何显示警告?
让我们说maxLength是17,用户输入15个字符,如何警告和/或执行某些操作(例如禁用正按钮等)
答案 0 :(得分:1)
你可以使用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()方法中字符串的长度,而不是调整所需的操作。
祝你好运答案 1 :(得分:1)
您有两种选择:
将TextWatcher添加到EditText,如果用户填写的数量少于最小数量,则显示错误,其中包含android.support.v7.widget.AppCompatEditText的setError错误,该错误应位于android.support.design.widget.TextInputLayout中
但是使用这种方法,当用户填写编辑时,您将提示用户。
我的建议是仅在用户点击“确定”按钮时进行验证,这样您就不会显示某种错误并打扰用户。
答案 2 :(得分:1)
试试这个:在按钮点击期间检查有效性条件
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在运行时检查条件。