以下代码:
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
我不知道为什么。我已经尝试了setBackground和R.drawable.img,但是我得到了同样的错误。
发布于 2013-12-12 11:41:15
这个方法是在API级别16中引入的,您很可能运行在前面的一个:
http://developer.android.com/reference/android/view/View.html#setBackground(android.graphics.drawable.Drawable)
使用setBackgroundDrawable()
发布于 2013-12-12 11:39:21
setBackground方法是在API 16中添加的,所以如果您在低于该值的情况下测试它,它将给出NoSuchMethodError
请检查此链接以获取api级别详细信息。
发布于 2013-12-12 11:48:43
是的,请阅读api:http://developer.android.com/reference/android/view/View.html#setBackgroundResource(int)
你应该知道setBackground在16级的时候起作用,所以你应该考虑一件事,那就是我应该用一级方法代替.
希望这对你有帮助。
https://stackoverflow.com/questions/20542456
复制相似问题