3

我在 XML 中有 EditText:android:drawableRight="@drawable/promotion_create_promotion_plus_icn"

setError("sss")改变drawableRight

我想什么setError(null)时候drawableRight回来drawable/promotion_create_promotion_plus_icn

XML:

<EditText android:id="@+id/create_benefit_add_titale" style="@style/promotion_create_promotion_add_title_bcg" android:drawableRight="@drawable/promotion_create_promotion_plus_icn" android:hint="@string/create_benefit_add_titale" />

在java中:

@Override public void afterTextChanged(Editable s) { ((EditText) getCurrentFocus()).setError(null); }

谁能帮我?

4

2 回答 2

5

问题是也setError(null)清除了图标。要恢复原来的,以编程方式添加它:

@Override public void afterTextChanged(Editable s) {
  EditText edit = (EditText) getCurrentFocus();
  edit.setError(null);
  edit.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.promotion_create_promotion_plus_icn, 0);
}
于 2013-10-10T12:11:55.687 回答
1

您必须EditText用 a换行TextInputLayout并设置错误textInputLayout而不是editText

于 2019-10-13T09:39:32.917 回答