close
在 Adnroid 裡
無論是圖片、字串、style、layout......等等
都有屬於自己獨一無二的 ID 編號
我們常常會用 R.XXX.resource name 來取得 ID 編號
那假設我們今天有image0、image1…
然後我們使用ListView、RecyclerView......等元件時
需要用code去產生畫面,去塞圖片進去的話
就像這樣
String resName = "image"+position;
我們有沒有辦法拿 String 去取得 ID 呢?
答案是可以的
我們來試試下面這段code
String resName = "image"+position;
int resId =getApplicationContext().getResources()
.getIdentifier(resName
,"drawable"
,getPackageName());
imageView.setImageResource(resId);
Run 過 Project 之後
我們很神奇的發現
圖片乖乖的照 position 放好了欸
我們可以從code裡可以看出來
關鍵 method 是 getIdentifier ( resName , resType , PackageName )
那這三個參數要怎麼使用呢?
第一個、就是我們的檔案名稱,也就是image0~10這個
第二個、則是我們放在哪個資料夾,如下圖
第三個、則是PackageName,也就是專案的package, 例如:com.willy.android.apple
解說完畢,是不是很簡單呢
趕快來試試吧!!!
資料來源:
https://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String, java.lang.String, java.lang.String)
全站熱搜