我有一个包含字符串名称和字符串文件名的数据库,用于动态创建页面。在上一页根据选中的按钮光标返回需要的具体条目,然后即用于查找和显示相应的图像。我一直在尝试从不同的地方混搭代码,但似乎没有任何效果。它目前看起来像这样:
ImageView iv = (ImageView) findViewById(R.id.iv1);
Bitmap bmap = (Bitmap) BitmapFactory.decodeResource(this.getResources(),
getResources().getIdentifier(c.getString(4), "drawable", getPackageName()));
iv.setImageBitmap(bmap);
出于调试目的,我已将光标 getString(4) 烘烤,它正确显示为“al_0”或应该是什么,并且 res 中的“drawable”文件夹中有一个名为“al_0.jpg”的文件。
我尝试了将包名和可绘制文件夹位置直接与图像名称连接起来的各种组合,并将 null 放在其他变量位置。每次我引用 decodeResource 行或“获取资源编号 0x00000000 的值时无包标识符”时都会崩溃。
任何帮助将不胜感激,如果需要更多细节,我可以尝试提供。
更新:所以似乎还有其他问题,即使使用以下内容我也会崩溃:
ImageView iv = (ImageView) findViewById(R.id.iv1);
iv.setImageResource(R.drawable.al_0);
并且 R.drawable.al_0 绝对是 drawable-mdpi 中的正确资源(我根据 Lint 的建议移动了它)。