如何在Android中从Java图像数据类型设置ImageView资源

如何在Android中从Java图像数据类型设置ImageView资源,java,android,image,imageview,Java,Android,Image,Imageview,我正在尝试从图像数据类型设置图像视图资源 差不多 //this line is not working Image storeImage = new Image(R.drawable.butterfly); ImageView mainImage = findViewById(R.id.mainImage); //this line is not working either mainImage.setImageResource(storeImage); 为了我的工作 我需要将图像存储在一

我正在尝试从图像数据类型设置图像视图资源

差不多

//this line is not working
Image storeImage = new Image(R.drawable.butterfly);

ImageView mainImage = findViewById(R.id.mainImage);

//this line is not working either
mainImage.setImageResource(storeImage);
为了我的工作

我需要将图像存储在一个变量中
然后在以后的图像视图中使用它

直接将可绘制设置为以下视图:

//store the id of the drawable
int image = R.drawable.butterfly

ImageView mainImage = findViewById(R.id.mainImage);

mainImage.setImageResource(image);

mainImage.setImageDrawableContextCompat.getDrawablethis,R.drawable.butterfly

通常,一旦将图像添加到可绘制资源文件夹中,就会存储图像。 您可以使用可存储在变量数据类型int中的ID访问它:

int storeImage = R.drawable.butterfly;
然后,您必须使您的ImageView可以访问,就像您已经做的那样:

ImageView mainImage = findViewById(R.id.mainImage);
您的代码mainImage.setImageResourcestoreImage;不起作用,因为storeImage是一个int,但函数需要一个可绘制的。每次要将ID转换为可绘制文件时,都必须使用getDrawablestoreImage

因此,您的整个代码如下所示:

int storeImage = R.drawable.butterfly;
ImageView mainImage = findViewById(R.id.mainImage);
mainImage.setImageDrawable(getDrawable(storeImage));

为了我的工作。我需要将图像存储在某种变量中。然后将其与imageViewGood、accept一起使用,以便其他人知道您问题的答案。这是否回答了您的问题?不,这不是,这些是直接图像资源。我不知道为什么人们不考虑这一点就称之为复制品这是复制品。。您尝试使用的图像类是android.media,它与资源无关。因为您的图像位于drawable文件夹中,所以您不应该使用图像。但它如何解决我的问题,因为我的问题是存储图像文件以供以后使用。没有提到这一点。有吗?@ADM dupe有一个令人震惊的公认答案,它建议设置背景而不是图像资源:-从这个问题是提问者寻找的答案,它与公认的答案匹配,但有点隐蔽。