[英]how to get image name from drawable on an existing imageview
正如標題所說,我真的想從我當前的圖像視圖中獲得一個可繪制的名稱
Imageview img = findViewById(R.id.IMG);
它設置了來自名為“img001.png”的可繪制圖像,我有一個按鈕可以將圖像更改為“img002.png”,再次單擊時應該再次將圖像更改為“img001”。 我使用這樣的代碼
if (myimg == "img001"){
myimg= "img002"
}else if (myimg == "img002"){
myimg= "img001"}
它不起作用,因為“myimg”在開始時為空,所以我希望“myimg”檢查哪個圖像已經在使用中。
我在谷歌上搜索了一些如何獲取資源名稱的信息,但我得到的只是如何從其名稱中獲取資源 ID。
我建議使用自定義標簽而不是查找資源名稱,更改該圖像視圖的標簽並在 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");
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.