ImageView.setColorFilter的NoSuchMethod错误

时间:2011-05-19 12:30:17

标签: java android

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

我使用ImageView.setColorFilter(Color.whatever)来改变图标的​​颜色,它在我的三星Galaxy Tab和HTC Hero上运行得很好,但是当我将应用程序加载到HTC Droid Eris上时,我收到一个错误:

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

我不知道为什么它在其他一切都能正常工作,但不是这款手机。有任何想法吗?我想也许可能是因为Eris有Android 2.1,而其余的是2.2或更高。但我不认为在2.2之前不包括这样一个基本方法!

非常感谢任何和所有帮助!当我被困难时,这个社区总是有帮助,谷歌不会吐回任何相关结果!提前谢谢!

2 个答案:

答案 0 :(得分:4)

如果您查看documentation并按API版过滤,您会看到此重载:

void setColorFilter(int color)

是在API版本8中引入的,它是Android 2.2。

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

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

您可以使用其中一种吗?

答案 1 :(得分:1)

API级别8(版本2.2)中引入了

setColorFilter(int color)

自1.0版以来,还存在另外两个版本的setColorFilter,也许您可​​以使用这些版本?