我只是想知道在输入数值后我是否可以setError
或Toast
EditText
。
例如:
预订ID(TextView
) _ __ _ ____ (EditText
)
现在,预订ID的值应该是5(不多或少)
所以,我已经这样声明了:
if (s6.length()<=4)
{
bookid.setError( "Enter Booking ID!" );
bookid.requestFocus(s6.length());
}
这里s6代表EditText
。
我希望一旦输入错误的值(小于5)就会显示错误。
有这样的方式吗?谢谢。
答案 0 :(得分:1)
您可以在EditText中添加文本观察器界面,并在onTextChanged(..)
中执行您想要的操作:
YourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
if(s.length()!=5) {
Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT).show();
}
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
答案 1 :(得分:1)
要在EditText上实现验证机制,您应该查看TextWatcher接口。您可以创建一个实现TextWatcher的类,然后将其分配给您的Edittext。通过这种方式,您可以访问editText中的任何值。
答案 2 :(得分:0)
if (s6.length()==5)
{
// do what you wanna do....
}
else
{
bookid.setError( "Enter Booking ID!" );
bookid.requestFocus(s6.length());
}