自定义TextView的setError图标

时间:2012-12-04 16:23:16

标签: android icons textview

我想为setError设置TextView方法,使用自定义图标而不是默认的Android图标。所以我尝试了这个:

((EditText)findViewById(R.id.edtTitle)).setError(getResources().getText(R.string.errEmptyTitle), 
         getResources().getDrawable(R.drawable.ico_warning_small);

它显示自定义消息,但不显示自定义图标。我也尝试过这个:

Drawable warning = (Drawable)getResources().getDrawable(R.drawable.ico_warning_small);
((EditText)findViewById(R.id.edtTitle))
      .setError(getResources().getText(R.string.errEmptyTitle), warning);

几乎一样,但我仍然决定试一试。然而这也没有帮助 - 我仍然看不到图标。 我尝试使用其他一些Android系统图标,只是为了看看我是否看到它们,我也看不到它们。

那么我做错了什么?有没有办法设置自定义图标?

4 个答案:

答案 0 :(得分:42)

在setError中使用之前,需要在drawable上设置边界。

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
editText.setError("error", drawable);

答案 1 :(得分:6)

如果您不想显示任何图标,请使用

editText.setError("error", null);

答案 2 :(得分:5)

此问题在此处讨论并解决:

EditText setError() with icon but without Popup message

我希望通过扩展答案,它不会自动转换为评论。

答案 3 :(得分:1)

s.map(lambda x: isinstance(x, pd.Timestamp)).iloc[0]
True