就像标题所说的那样,我真的很想从当前图像视图中获得一个可绘制的名称
Imageview img = findViewById(R.id.IMG);
并使用名为“ img001.png”的可绘制图像进行设置 我有一个按钮,它将图像更改为“ img002.png”,再次单击时应将图像再次更改为“ img001”。 我使用这样的代码
if (myimg == "img001"){
myimg= "img002"
}else if (myimg == "img002"){
myimg= "img001"}
由于“ myimg”在开始时为null,因此不起作用,因此我希望“ myimg”检查已使用的图像。
我在Google上搜索了一些有关如何获取资源名称的信息,但我所能获得的只是如何从其名称获取资源ID。
答案 0 :(得分:0)
获取图像名称,如下所示: Android: How to get Drawable Image name
然后使用equals()比较名称:
if("img001".equals(imageName)) {
...
}
答案 1 :(得分:-1)
我建议使用自定义标签而不是查找资源名称,更改该imageview的标签并在if-else条件下进行检查,而不要使用图像名称。将资源应用于图像视图时,请将该资源ID分配为图像视图的标签。
if(imgView != null) {
imgView.setImageResource(resourceId_1);
imgView.setTag(resourceId_1);
imgView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(imgView.getTag != null) {
if(imgView.getTag() = resourceId_1) {
imgView.setImageResource(resourceId_2);
imgView.setTag(resourceId_2);
} else if(imgView.getTag() = resourceId_2) {
imgView.setImageResource(resourceId_1);
imgView.setTag(resourceId_1);
}
} else {
Log.v(TAG, "ImageView tag is null");
}
}
}
}