是否可以通过编程方式添加图像?

sko*_*oko 2 android imageview

我有一个Web服务,我从中读取各种信息.这些信息之一是图像的名称.我将所有图像存储在drawables文件夹中.我现在所做的是我从Web服务中读取了我需要的图像字符串.我想使用此字符串名称并从我的drawable文件夹中插入具有相同字符串名称的图像.这可能吗?

有可能以某种方式做以下事情吗?

//Setup the image
        ImageView spotIvIcon = (ImageView)findViewById(R.id.spot_selected_image);
        String temp = "R.drawable."+spotImage;
        spotIvIcon.setImageResource(R.drawable.beer);
Run Code Online (Sandbox Code Playgroud)

我用temp字符串做什么 是否可以将此字符串转换为我需要的int?我在那里喝啤酒只是为了测试一些东西.谢谢

sko*_*oko 6

所以我发现了如何做到这一点.如果有人想知道它是如何完成的,请使用以下代码:

int path = getResources().getIdentifier(spotImage, "drawable", "com.androidpeople.tab");
        spotIvIcon.setImageResource(path);
Run Code Online (Sandbox Code Playgroud)

哪里:

  • spotImage是字符串的名称
  • drawable是你想要的类型
  • com.androidpeople.tab是你的包名

现在就像一个魅力.