因此,我有一个ListView,它根据列表中每个项目的优先级对图标进行颜色编码。例如,优先级为1的工作订单具有红色的工作订单图标。优先级2 =黄色,依此类推。

我使用ImageView.setColorFilter(Color.whatever)更改图标的颜色,它在我的Samsung Galaxy Tab和HTC Hero上都很好用,但是当我将应用程序加载到HTC Droid Eris时,出现错误:

java.lang.NoSuchMethodError:android.widget.ImageView.setColorFilter


我不知道为什么它在其他所有功能上都能正常工作,但在这款手机上却无法正常工作。有任何想法吗?我在想,也许是因为Eris拥有Android 2.1,而其余版本是2.2或更高版本。但是我不认为2.2之前没有包含这样的基本方法!

任何帮助都将不胜感激!当我感到困惑并且Google不会吐出任何相关结果时,这个社区总是会提供帮助的!提前致谢!

最佳答案

如果查看documentation并按API版本进行过滤,则会看到此重载:

void setColorFilter(int color)


是在API版本8(Android 2.2)中引入的。

但是,以前还支持其他重载:

void setColorFilter(ColorFilter cf)
void setColorFilter(int color, PorterDuff.Mode mode)


您可以改用其中之一吗?

09-26 11:16