The following code:

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

produces the following error:

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

I have no idea why. I already tried the setBackground with R.drawable.img but I get the same error.

有帮助吗?

解决方案

This method was introduced in API level 16, you are most probably running on an earlier one:

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

Use setBackgroundDrawable()

其他提示

setBackground method was added in API 16 so if you are testing it on lower than that it will give NoSuchMethodError

Check this link for api level details

yeah, please read the api: http://developer.android.com/reference/android/view/View.html#setBackgroundResource(int)

and you should know setBackground works when level 16, so you should always think about one thing, that is should i use a level 1 method instead......

hope this is helpful to you.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top