如何设置变量imageview src?

时间:2018-05-02 10:24:26

标签: java android

我的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引用。

任何想法?谢谢!

3 个答案:

答案 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);
    }
}

必须有一个更好的方法来解决这个问题。这是一个非常基本的。