我正在尝试将输入验证添加到一组三个EditTexts
,用户在其中输入数值。
我面临的问题是为了计算工作,用户不能输入零作为输入字段之一,否则应用程序将崩溃。
我尝试执行以下操作以防止输入零并显示警告消息。我收到一条错误消息,指出“无法启动活动 calcResult”,这是显示计算的活动。
这是错误日志的链接:http://pastebin.com/hDsabjR6
据我了解,零值仍然无法通过验证,但我不知道为什么?
String getoffsetlength = offsetLength.getText().toString();
if (getoffsetlength.trim().equals('0')) {
Toast.makeText(this, "Enter number greater than 0!", Toast.LENGTH_SHORT).show();
return;
}
当我在应用程序中使用此验证时,应用程序崩溃了。关于我在哪里搞砸了这个实现有什么想法吗?
只需添加android:digits="123456789"
to the EditText
在 XML 中。这样用户就无法输入0
[EDIT]
但是,如果您想避免用户输入0
仅在开始时,然后使用:
code_text.addTextChangedListener(new TextWatcher(){
public void onTextChanged(CharSequence s, int start, int before, int count)
{
if (code_text.getText().toString().matches("^0") )
{
// Not allowed
Toast.makeText(context, "not allowed", Toast.LENGTH_LONG).show();
code_text.setText("");
}
}
@Override
public void afterTextChanged(Editable arg0) { }
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)