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

4

我在我的安卓项目的res/mipmap文件夹中存储了图像图标。它们每一个都有自己的图像ID。我想通过图像ID检查是否有图像存在。我想要做的事情类似于:

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

如果我知道蓝色图片存在,通常会这样获取它:
image.setImageResource(R.mipmap.blue_image);

这个问题似乎有两个部分。第一个是通过ID检查图像是否存在,第二个是在Java中找到类似于getattr()的Python函数。

如果您对类似情况有其他解决方案,也欢迎分享。

2个回答

4
在您的Activity类中尝试以下内容:
int imageId = getResources().getIdentifier(inputId, "drawable", getPackageName());

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

重点是,如果未找到资源,则getIdentifier()返回0

3

使用方法:

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

其他答案建议的“drawable”不同,使用“mimap”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接