View.setBackground throws NoSuchMethodError

5.9k Views Asked by At

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.

3

There are 3 best solutions below

0
On BEST ANSWER

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()

0
On

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

0
On

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.