这是我的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
字段中的内容时,它的错误弹出窗口并未隐藏。只有当我点击键盘上的“完成”按钮时,它才会隐藏。
为什么number
和text
字段的行为不同?
答案 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);
}
}
});