带有“text”的EditText inputType在文本更改时不会隐藏错误弹出窗口

时间:2014-09-20 15:11:58

标签: android android-edittext

这是我的XML

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/barcode"
    android:id="@+id/barcode"
    android:inputType="number" />
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/name"
    android:id="@+id/name"
    android:inputType="text" />

我将错误设置为两个字段:

((TextView) findViewById(R.id.barcode)).setError(getString(R.string.at_least_one_field));
((TextView) findViewById(R.id.name)).setError(getString(R.string.at_least_one_field));

当我运行应用并更改barcode字段中的内容时,它的错误弹出窗口正在隐藏。 当我更改name字段中的内容时,它的错误弹出窗口并未隐藏。只有当我点击键盘上的“完成”按钮时,它才会隐藏。

为什么numbertext字段的行为不同?

1 个答案:

答案 0 :(得分:2)

我对“text”inputType有同样的问题,并在此帖子中找到了解释 https://stackoverflow.com/a/23599214/3005955

textView.addTextChangedListener(new TextWatcher() {
    public void afterTextChanged(Editable edt) {
        if( playerName.getText().length() > 0) {
            playerName.setError(null);
        }
    }
});