View.setBackground抛出NoSuchMethodError

时间:2013-12-12 11:37:48

标签: android view nosuchmethoderror

以下代码:

View inflate = inflater.inflate(R.layout.page, null);
Drawable img = getResources().getDrawable((Integer) (item.get("img")));
inflate.findViewById(R.id.page_img).setBackground(img);

产生以下错误:

java.lang.NoSuchMethodError: android.view.View.setBackground

我不知道为什么。我已经用R.drawable.img尝试了setBackground但是我得到了同样的错误。

3 个答案:

答案 0 :(得分:10)

此方法是在API级别16中引入的,您很可能在较早的版本上运行:

http://developer.android.com/reference/android/view/View.html#setBackground(android.graphics.drawable.Drawable)

使用setBackgroundDrawable()

答案 1 :(得分:2)

在API 16中添加了

setBackground方法,因此如果您在低于该值的情况下对其进行测试,则会给出NoSuchMethodError

Check this link for api level details

答案 2 :(得分:1)

是的,请阅读api: http://developer.android.com/reference/android/view/View.html#setBackgroundResource(int)

你应该知道setBackground在16级时有效,所以你应该总是考虑一件事,那就是我应该使用1级方法......

希望这对你有所帮助。