I am trying to programically set the background of my app with an image in my drawable-hdpi folder. It is only seeing the default ic_launcher file in R.drawable so when I go to set the background, its simply unexistant. I am using this class as a fragment class with a swipe menu so maybe that has something to do with it.
EDIT: I was able to set the background in my xml file, but I couldn't set the background in my oncreateview method.
public class inputClass extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.input_xml, container, false);
rootView.setBackgroundResource(R.drawable.hidden);
return rootView;
}
If you extend your activity from
Activity
, then usingandroid:src
instead ofapp:srcCompat
.This is solved a problem in my case.
The problem is that your drawable image file is only available
drawable-hdpi
folder. In order to set the background properly, you can do two following ways.You should place your image file to all drawable directories. I mean you should put that image into
drawable-ldpi
,drawable-mdpi
and so on. Also you should be careful about the size of the image because each folder corresponds to screen sizes. Please check out this API GuideSecond way is the alternative for the first one. Create a directory within
res/
folder and name it asdrawable
and then move your image file fromdrawable-hdpi
todrawable
.Then, clean the project and relaunch.
Hope this may help.