【问题标题】:TextInputLayout "setError(null)" before "setErrorEnabled(false)" necessary?“setErrorEnabled(false)”之前的TextInputLayout“setError(null)”有必要吗?
【发布时间】:2020-02-18 14:50:58
【问题描述】:

必须在setErrorEnable(false)之前调用setError(null)吗?为什么?我看不出有什么区别,但我看到很多人都这样做。

【问题讨论】:

  • 只是因为当不需要显示字段错误时,我们设置 setErrorEnable(false) 并将现有错误清除到该字段中,我们使用 setError(null)。
  • @Nice umang 但是如果我想删除错误,我只使用setErrorEnable(false) 对我来说已经足够了(至少从我在屏幕上看到的内容来看),此时之前调用setError(null)我认为这变得不必要了,因为我看不出有什么区别。

标签: java android memory-leaks garbage-collection android-textinputlayout


【解决方案1】:

没有必要同时调用它们。当您第一次为 TextInputLayout 设置错误时,它的 EditText 字段下的高度会增加一点用于显示该错误。

如果您使用setError(null),则只会删除错误文本,但如果您使用setErrorEnable(false),则会删除错误文本和多余的空格(请注意,如果您为 TextInputLayout em>,错误只是用帮助文本替换并且没有添加额外的空格,因此您看不到这两种方法之间的任何区别)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多