【问题标题】:Remove the error indicator from a previously-validated EditText widget从先前验证的 EditText 小部件中删除错误指示器
【发布时间】:2012-04-18 09:42:36
【问题描述】:

我正在使用 EditText 小部件,并且正在使用 EditText 的 setError() 方法对其进行验证,并且验证正确。

但是我在同一个屏幕上有一个按钮,可以重定向到另一个活动。当我按下返回按钮并返回屏幕时,验证仍然出现。

所以在活动OnPause 事件上,我想删除EditText 的验证。怎么可能。

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:
    protected void onPause () {
        TextView textView = ...; // fetch it as appropriate
        textView.setError(null);
    }
    

    因为如文档中所述:

    如果错误为空,错误信息和图标将被清除。

    【讨论】:

    • 哇,所以除了 NullPointerException 之外,null 值真的得到了很好的利用。哈哈
    【解决方案2】:

    在 Kotlin 中:

    editText.error = null
    

    Kotlin 扩展功能:

    为了使其更具可读性,您可以添加此扩展功能

    fun EditText.clearError() {
        error = null
    }
    

    在 Java 中:

    editText.setError(null);
    

    【讨论】:

      【解决方案3】:

      您也可以使用以下方法:

      protected void onPause () {    
          mEditText.setError(null);//removes error
          mEditText.clearFocus();    //clear focus from edittext
      }
      

      【讨论】:

        【解决方案4】:

        只需将.setError(null) 放在 EditText 的末尾即可。

        mEditText.setError(null);
        

        【讨论】:

          【解决方案5】:

          在 kotlin 中,您可以使用属性访问语法简单地访问属性

          protected void onPause () {
              EditText mEditText = ...; // fetch it as appropriate
              mEditText.error = null
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-09-02
            • 2018-01-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-01-22
            • 1970-01-01
            相关资源
            最近更新 更多