我的Drawable文件夹中有52张卡片的图像,格式为.png。
我想修改ImageView的andorid:src属性,但使用var保存图像名称的名称。例如。
String nameOfCard="two_of_diamonds"; // and as I said I have an Image called two_of_diamonds in my Drawable folder
我尝试了几种方法,但我找不到正确的方法。 如果我使用:imageview.setImageResource(int)我需要一个int而不是一个String引用。
任何想法?谢谢!
答案 0 :(得分:0)
使用 getIdentifier()
public int getIdentifier(String name,String defType,String defPackage)
这将返回id。使用id为imageview
设置图像资源。
例如,
int id = getResources().getIdentifier(nameOfCard,"drawable",getPackageName());
imageview.setImageResource(id);
答案 1 :(得分:0)
使用以下代码使用名称访问可绘制资源:
Resources resources = getResources();
final int resourceId = resources.getIdentifier("two_of_diamonds",
"drawable", getPackageName());
imgView.setImageResource(resourceId);
答案 2 :(得分:0)
创建像
的图像对象class Image{
String Name;
int Id;
public Image(String Name,int id){
this.Name=Name;
Id=id;
}
}
创建图像数组
Image[] images = {new Image("name",R.drawable.name_of_image),...);
设置图像时使用
for(Image i: images){
if(i.Name.equals("desired")){
imageview.setImageDrawable(i.Id);
}
}
必须有一个更好的方法来解决这个问题。这是一个非常基本的。