Get drawable by string

Use this function to get a drawable when you have the image name. Note that the image name does not include the file extension.

public static Drawable GetImage(Context c, String ImageName) {
        return c.getResources().getDrawable(c.getResources().getIdentifier(ImageName, "drawable", c.getPackageName()));
}

then just use setBackgroundDrawable method.

If you only want the ID, leave out the getDrawable part i.e.

return c.getResources().getIdentifier(ImageName, "drawable", c.getPackageName());

this gets you your image id

    int resId = getResources().
getIdentifier(your_image_name.split("\\.")[0], "drawable", getApplicationInfo().packageName);   

if you need a drawable after that :

getResources().getDrawable(resId)