【问题标题】:EditText valid input indicatorEditText 有效输入指示符
【发布时间】:2016-07-05 21:39:35
【问题描述】:

我对用户输入 id 的 editText 进行了验证。 id 的最小长度为 6,并具有错误检测功能。我想在输入 正确 id 时立即通知用户。我在网上搜索过,我发现的大部分内容都是通过editText.setError() 之类的方法告诉用户输入无效的情况。所以我的问题是,当用户做了正确的事情时,是否有 setError 等价物。

【问题讨论】:

  • 输入正确 id 的条件是什么?至少 6 个字符,我想是独一无二的?您希望如何显示消息?
  • 我想把它显示为setError显示错误,只有一个绿色的指示器告诉成功
  • 我可以通过显示Toast 来指示成功,但这不如出现错误时显示setError 状态那么可取。我想显示成功,因为setError 显示错误。

标签: android validation android-edittext


【解决方案1】:

您可以使用 TextChangeListener 在用户更改文本时执行事件。

textEdit.addTextChangedListener(new TextWatcher() {

   @Override
   public void afterTextChanged(Editable s) {}

   @Override    
   public void beforeTextChanged(CharSequence s, int start,
     int count, int after) {
   }

   @Override    
   public void onTextChanged(CharSequence s, int start,
     int before, int count) {
      // validate text and inform user
   }
});

【讨论】:

  • 我确实会注意用户的文本更改,我的问题是当用户正确时显示 _success_ 指示符,请记住 id 可能很长,所以我想要当用户输入正确的 id 时给出直接反馈
  • 啊。我不认为有一个官方的,但也许你可以自定义图标来产生你正在寻找的效果?这个问题显示了如何子类化和更改图标,尽管它们也禁用了文本。 stackoverflow.com/questions/8985295/…
  • Thnx,这正是我想要的。只需显示一个适当的图标。
【解决方案2】:

我们可以通过fromHtml方法设置setError弹窗的样式。

你也可以使用这个:https://github.com/sherifelkhatib/WidgyWidgets

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    相关资源
    最近更新 更多