Re: [問題] 取得imageView的resID?

看板AndroidDev作者 (Mr. Pan)時間13年前 (2012/08/16 18:21), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #1GBCcRgO (AndroidDev)
文章代碼(AID): #1GBCcRgO (AndroidDev)