我正在尝试从我的 Assets 文件夹中获取图像并将它们设置到我的变量中,称为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
?
最佳答案
如果imageResId
为零,则意味着getIdentifier
无法找到具有您提供的名称信息的资源。
引用:
这就是问题的根本原因。之后发生的事情只是之前错误的“后果”。
解决方案:找出资源标识符查找失败的原因。
- 您的
名称
有误吗? defType
?defPackage
?- 有图片资源吗?
- 位置正确吗?
关于java - setImageResource() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46386119/