Android 使用字串動態獲取資源ID
阿新 • • 發佈:2018-12-09
android檔案中每個檔案都有一個ID,如下圖所示,左邊的0x7f060000即是檔案的ID:
如果我們想在程式碼中獲取這個檔案的ID應該使用高效率的反射機制,可以新建一個Java類程式碼如下:
public class ResourceMan { public static int getResId(String variableName, Class<?> c) { try { Field idField = c.getDeclaredField(variableName); return idField.getInt(idField); } catch (Exception e) { e.printStackTrace(); return -1; } } }
或者在當前類增加一個方法:
public static int getResId(String variableName, Class<?> c) { try { Field idField = c.getDeclaredField(variableName); return idField.getInt(idField); } catch (Exception e) { e.printStackTrace(); return -1; } }
呼叫方式:
其中icon是檔名稱,不需要增加字尾
int id = ResourceMan.getResId("icon",R.drawable.class);
//或者int id = getResId("icon",R.drawable.class);
更多內容訪問omegaxyz.com
網站所有程式碼採用Apache 2.0授權
網站文章採用知識共享許可協議BY-NC-SA4.0授權
© 2019 • OmegaXYZ-版權所有 轉載請註明出處