我正在尝试从我的资源文件夹中获取图像,并将它们设置为名为insectImage的变量。这就是我所做的:
InsectRecyclerAdapter.InsectHolder insectHolder = holder;
Insect insectItem = (Insect) recyclerViewItems.get(position);
String imageName = insectItem.getImageName();
Log.d("imageName",imageName);
int imageResID = mContext.getResources().getIdentifier(imageName, "drawable", mContext.getPackageName());
Log.d("imageID", ""+imageResID);
insectHolder.insectImage.setImageResource(imageResID);
imageResID
在logcat中返回0,但imageName
变量设置为我的assets文件夹中存在的一个图像。 Logcat说setImageResource(imageResID)返回null。
如何将imageResID
设置为资产文件夹中的imageName
?
答案 0 :(得分:0)
如果imageResId
为零,则表示getIdentifier
无法找到包含您提供的名称信息的资源。
参考:
这是问题的根本原因。之后发生的事情只是早期错误的“后果”。
解决方案:找出资源标识符查找失败的原因。
name
错吗? defType
? defPackage
?