Android 资源$NotFoundException:资源不是可提取资源
我试图在LayerList drawable的标记中动态设置a的android:src 要执行此操作,我需要访问标记,但它始终失败:Android 资源$NotFoundException:资源不是可提取资源,android,Android,我试图在LayerList drawable的标记中动态设置a的android:src 要执行此操作,我需要访问标记,但它始终失败: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x12/d=0x0 a=3 r=0x7f090142} 以下是分层列表的可拉伸部分: <item android:id="@+id/my_ite
android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x12/d=0x0 a=3 r=0x7f090142}
以下是分层列表的可拉伸部分:
<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>
任何帮助都将不胜感激 ok当您调用getDrawable时,它需要引用您的drawable文件夹中的一个drawable。我不确定我的\u item\u id是什么,但如果它是可绘制的,请尝试
LayerDrawable ld = (LayerDrawable) r.getDrawable(R.drawable.my_item_id);
此外,我还尝试了一个项目clean:它没有做任何更改。my_item_id是标记的android:id属性(请参见上面的xml片段),我认为它是可绘制的。我的完整目标是动态地设置我在标记中使用的可绘制文件:在本例中,它的id值存储在“myDrawableId”中。因此,我为myDrawableid定义了一个Drawable(这很好),但我在尝试将其设置为可以在标记中硬编码为“android:src”时遇到了一个问题。如果您试图根据我的理解制作一个layerlist,则需要在一个Drawable文件夹中。查看以下链接以了解更多说明。你也没有一个src的位图,这是不正确的,从我可以告诉。LayerList位于drawable文件夹中:我遇到的问题是,我试图通过编程方式设置src的值。我认为在我执行getDrawable时,您已经有了正确的想法,必须指定Layerlist drawable,而不是标记id。我会处理这个问题,并发布我找到的任何其他信息。谢谢你的帮助!就是这样,米凯斯雷尔。谢谢LayerDrawable需要引用LayerList.xml文件。setDrawableByLayerId需要引用LayerDrawable中的层id作为第一个parm(R.id.my_item_id),第二个parm是要放置在层中的Drawable的id。您不需要为标记指定id。
LayerDrawable ld = (LayerDrawable) r.getDrawable(R.drawable.my_item_id);