setImageResource()返回null

时间:2017-09-24 02:52:12

标签: java android

我正在尝试从我的资源文件夹中获取图像,并将它们设置为名为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

1 个答案:

答案 0 :(得分:0)

如果imageResId为零,则表示getIdentifier无法找到包含您提供的名称信息的资源。

参考:

这是问题的根本原因。之后发生的事情只是早期错误的“后果”。

解决方案:找出资源标识符查找失败的原因。

  • 你有name错吗?
  • defType
  • defPackage
  • 那里有图像资源吗?
  • 它在正确的地方吗?