我已将图像图标存储在我的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函数的东西。
如果您对类似案件有任何其他解决方案,也欢迎这些。
答案 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建议的“可绘制”