Re: [問題] 取得imageView的resID?
※ 引述《henry4343 (henry)》之銘言:
: 請問一下
: 我在設定imageView的時候
: 可以使用 imageView_preview.setImageResource(resId) ;
: 那當我現在要取得設定的resId該怎麼做呢?
: 感謝~
API 本身沒提供類似的方法...
不過透過 Java Reflect 機制倒是可以取得儲存的資料
http://ppt.cc/dk7L
先從 android source code 裡面看到, setImageResource()
會有一個變數去紀錄給予的 Resource ID
private int mResource = 0;
這樣一來就可以透過 reflect 機制取取得他的值:
private int getImageResourceID(ImageView instance){
int rID=0;
try{
Class c=instance.getClass();
Field f=c.getDeclaredField("mResource");
f.setAccessible(true);
rID=f.getInt(instance);
}catch(Exception e){
e.printStackTrace();
}
return rID;
}
當然目標平台不同可能還要調整。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.39.75
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):