【问题标题】:EditText.setError for a not focusable viewEditText.setError 用于不可聚焦的视图
【发布时间】:2016-03-29 12:54:55
【问题描述】:

我想为不可聚焦的 EditText 显示错误。但我看不到消息。只有红色图标。有人说我需要手动请求焦点。我就是这样做的:

mStartDateEditText.requestFocus();
mStartDateEditText.setError("Message");

但它不起作用。

【问题讨论】:

  • 但是如果不能聚焦怎么会有错误??
  • 我有一个用于 EditText 的特殊 OnClickListener。出现日期选择器对话框,选择日期设置为 EditText。
  • 在这种情况下只需使用 textview 而不是 editext
  • 好的,我做到了。我还将 style="@android:style/Widget.EditText" 添加到 textView。但现在我的听众不工作了。 StackOverflow 说我应该让我的视图无法聚焦。
  • 对于一个简单的解决方案,在 textview 下方为错误创建一个隐藏字段,并在出现任何错误时使其可见

标签: java android android-edittext


【解决方案1】:

在我的情况下是相似的,我使用了 TextWatcher ,例如:

   username.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                if(s.length()==0){
                    username.requestFocus();
                    username.setError("Please enter your username.");
                }else{
                    username.setError(null);
                }
            }
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多