charlest
charlest

Reputation: 935

Resources$NotFoundException: Resource is not a Drawable

I am trying to dynamically set the android:src of a within an tag of a LayerList drawable.

To do so, I need to get access to the tag, but it keeps failing with:

android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x12/d=0x0 a=3 r=0x7f090142}

Here is the LayerList drawable portion:

<item android:id="@+id/my_item_id" 
    android:left="35dip" 
    android:right="0dip"
    android:top="0dip"
    android:bottom="50dip">
    <bitmap android:id="@+id/my_bitmap_id" android:gravity="left"/>
</item>

And here is the code:

Resources r = view.getResources(); 
Drawable drawable = r.getDrawable(myDrawableId); 
// it abends on this next line 
LayerDrawable ld = (LayerDrawable) r.getDrawable(R.id.my_item_id); 
// this is where I want to set the id of the drawable to use in the bitmap 
ld.setDrawableByLayerId(myDrawableId, drawable);

Any help will be greatly appreciated!

Upvotes: 1

Views: 8603

Answers (1)

MikeIsrael
MikeIsrael

Reputation: 2889

ok when you call getDrawable it needs to refer to one of the drawables in your drawable folders. I am not sure what my_item_id is, but if it is a drawable try

LayerDrawable ld = (LayerDrawable) r.getDrawable(R.drawable.my_item_id); 

Upvotes: 2

Related Questions