【问题标题】:How to check that EditText has value greater than 500 in android studio?如何在 android studio 中检查 EditText 的值是否大于 500?
【发布时间】:2021-12-12 23:55:10
【问题描述】:

请阅读我的问题描述。我没有找到正确的方法来问这个问题。但是描述会解释我的问题。

好的,我有一个 EditText ,我希望当用户在 EditText 中输入大于 500 的数字时,应该可以看到 drawable(勾号)(表明输入的数字是正确的) . 输入数字后假设用户退格并删除输入的数字(使数字小于500),drawable应该是不可见的。

我使用Textwatcher 完成了此操作,但问题是当用户开始删除输入的数字时,我收到错误并且应用程序崩溃。示例 - 如果我输入 500 ... 一切正常,drawable 也可见。现在我删除了 500 的 1 个零,现在 editext 的值为 50 并且 drawable 也是不可见的。现在我删除另一个 0 ,edittext 现在的值为 5 。到这里一切正常。 现在当我删除 5 时,应用程序崩溃并给出错误。请有人告诉我我在这里做错了什么?

活动截图。

这就是我正在做的..

        ets2.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                if((Long.parseLong(ets2.getText().toString().trim())<500) || (ets2.length()==0) /*||(TextUtils.isEmpty(ets2.getText().toString()))*/){
                    step2tv.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
                    invalidtv.setVisibility(View.VISIBLE);
                    ets2.setError("Please enter amount \n greator than 500");

                } else{
                    step2tv.setCompoundDrawablesWithIntrinsicBounds(0, 0,R.drawable.ic_checkgreen, 0);
                    
                }

            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

【问题讨论】:

    标签: android android-studio android-edittext


    【解决方案1】:

    首先,每当发生崩溃时,发布堆栈跟踪。它会告诉你它为什么会崩溃。

    在这里,很容易猜到。当字符串为空时,parseLong 会抛出异常,因为 "" 无法解析为 long。解决这个问题的方法是捕获 NumberFormatException 并将其视为失败。

    【讨论】:

    • 哦,是的..只需添加 NumberFormatException 即可在几秒钟内解决我的问题。谢谢。我想现在不需要在这里发布错误。问题已解决,谢谢
    • 是的,这次不用了,很简单。牢记这一点,以备不时之需,这样可以节省时间并使人们更有可能回答。
    猜你喜欢
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2020-05-29
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    相关资源
    最近更新 更多