是否可以通过id获取mipmap图像?

时间:2016-06-19 20:29:36

标签: java android mipmaps

我已将图像图标存储在我的android项目的res / mipmap文件夹中。他们每个人都有自己的形象ID。我想通过图片ID检查我是否有图像。我想做点什么,

String input_id = "blue_image";
ImageView image;
if (image.getImageByID(input_id)){  ## if image with blue_image exists
    image.setImageResource(...);
}

如果我知道blue_image存在,那么我通常会得到它

image.setImageResource(R.mipmap.blue_image);

这个问题似乎有2个问题。一个是关于通过ID检查图像存在,第二个是在java中找到类似于getattr() python函数的东西。

如果您对类似案件有任何其他解决方案,也欢迎这些。

2 个答案:

答案 0 :(得分:3)

在您的Activity类中尝试此操作:

int imageId = getResources().getIdentifier(inputId, "drawable", getPackageName());

if (imageId > 0) {
    image.setImageResource(imageId);
}

关键是,如果找不到资源,getIdentifier()会返回0

答案 1 :(得分:0)

使用:

int imageId = getResources().getIdentifier(inputId, "mipmap", getPackageName());

使用“ mimap”,而不是other answer建议的“可绘制”