如何防止用户输入零作为输入?

Bri*_*n J 3 validation android android-edittext

我正在尝试将输入验证添加到用户输入数值的三个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;
   }
Run Code Online (Sandbox Code Playgroud)

当我在app中使用此验证时,应用程序崩溃了.关于我搞砸了这个实现的哪些想法?

Joe*_*des 7

只需添加android:digits="123456789"EditTextXML中即可.这样用户将无法输入0

[编辑]

但是,如果您想避免用户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) {}
        }); 
Run Code Online (Sandbox Code Playgroud)