android 通过参数设置ImageView src

android set ImageView src by parameter

我需要通过发送参数设置图片资源(String src)

我有这个代码

public void getSource(View view , String src){

    ImageView image = (ImageView)findViewById(R.id.img);
    image.setImageURI(src);
}

我该如何解决这个问题?


// method to call to set image

   private void setImage(int src) {
       ImageView iv = findViewById(R.id.your_image_view);
       iv.setImageResource(src);
   }

//传递你的资源并像这样使用它:-

setImage(R.drawable.plus_active);

如果你想从本地存储设置图像,那么你必须获取图像的 uri 并像这样使用 setImageUri:
public void getSource(View view , String srcImageUri){

ImageView image = (ImageView)findViewById(R.id.img);
image.setImageURI(Uri.parse(src));
} 

如果你的 drawable 文件夹中有图像,那么你必须像这样设置图像:

image.setImageResource(R.drawable.imageName);

如果您想从网络设置图像 url,则必须使用 picaso 或 fresco 等库。

使用 getResources().getIdentifier();(您可以将 图像名称字符串 作为 参数 传递给 getIdentifier() 函数) 获取指定图像的 resourceID 然后使用 setImageResource(resourceID); 将图像设置为 ImageView.

public void getSource(View view , String src){
    int resID = getResources().getIdentifier( src, "drawable", Context.getPackageName());
    ImageView image = (ImageView)findViewById(R.id.img);
    image.setImageResource(resID);
}

您可能需要将 Context 作为参数传递给您的 getSource() 函数。