自定义TextView的setError图标

Iga*_*gal 17 icons android textview

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

((EditText)findViewById(R.id.edtTitle)).setError(getResources().getText(R.string.errEmptyTitle), 
         getResources().getDrawable(R.drawable.ico_warning_small);
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

JP2*_*014 44

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

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
editText.setError("error", drawable);
Run Code Online (Sandbox Code Playgroud)


Vas*_*nov 7

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

editText.setError("error", null);
Run Code Online (Sandbox Code Playgroud)


Ste*_*ght 5

这里讨论并解决了这个问题:

EditText setError()带有图标但没有弹出消息

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