Android使用getIdentifier()方法根據資源名來獲取資
有時候我們想動態的根據一個資源名獲得到對應的資源id,就可以使用getResources().getIdentifier()方法來獲取該id。然後再使用該id進行相關的操作。
列印出來的log為:
11-24 22:15:02.471 12023-12023/com.oyp.demo D/MainActivity: ----> 獲取到的圖片資源 drawableId= 213096860111-24 22:15:02.476 12023-12023/com.oyp.demo D/MainActivity: ----> 獲取到的圖片資源 drawableId=213083757911-24 22:15:02.477 12023-12023/com.oyp.demo D/MainActivity: ----> 獲取到的圖片資源 mipmapId=213090304011-24 22:15:02.477 12023-12023/com.oyp.demo D/MainActivity: ----> 獲取到的字串資源 stringId=2131099669
我們開啟編譯好後的 com.oyp.demo.R檔案
首先來看看activity_main這個layout的id是不是和我們列印出來的一樣是2130968601,如下圖所示,在 com.oyp.demo.R檔案中,activity_main的值確實是2130968601
部分程式碼如下所示:
public static final class layout { ...... public static final int abc_screen_simple = 2130968595; public static final int abc_screen_simple_overlay_action_mode = 2130968596; public static final int abc_screen_toolbar = 2130968597; public static final int abc_search_dropdown_item_icons_2line = 2130968598; public static final int abc_search_view = 2130968599; public static final int abc_select_dialog_material = 2130968600; public static final int activity_main = 2130968601; public static final int notification_media_action = 2130968602; public static final int notification_media_cancel_action = 2130968603; public static final int notification_template_big_media = 2130968604; public static final int notification_template_big_media_narrow = 2130968605; ...... public layout() { } }
drawable型別的圖片 ic_launcher 的資源id 為 2130903040
public static final class mipmap { public static final int ic_launcher = 2130903040; public mipmap() { } }
drawable型別的圖片 oyp 資源id為 2130837579
public static final class drawable { ...... public static final int abc_textfield_search_material = 2130837578; public static final int notification_template_icon_bg = 2130837580; public static final int oyp = 2130837579; public drawable() { } }
String型別的資源author id為 2131099669
public static final class string { ...... public static final int app_name = 2131099668; public static final int author = 2131099669; public static final int status_bar_notification_info_overflow = 2131099667; public static final int title = 2131099670; public string() { } }
可以發現列印出來的資源id和com.oyp.demo.R檔案生成的資源id是一致的,因此使用getResources().getIdentifier()方法完全可以正確地獲取資源的id。
http://www.apkbus.com/blog-865196-76899.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2144/viewspace-2812648/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 根據使用者來獲取渠道
- Android 通過名稱獲取資源IDAndroid
- 根據ip獲取城市
- Kubernetes 教程:根據 PID 獲取 Pod 名稱
- js根據ip地址獲取省份城市的方法JS
- 根據id獲取元素的寬度的方法
- 使用RxJava從多個資料來源獲取資料RxJava
- 根據聲音獲取物件物件
- 根據IP獲取國家
- javascript根據class獲取物件JavaScript物件
- android 根據設定的日期獲取星期幾Android
- js根據引數名獲取url上的引數值JS
- 根據 IP 獲取省市名稱
- 根據IP獲取國家省市
- 使用PHP獲取根域名的方法!PHP
- Spring多資料來源獲取Spring
- EBS 單個報表(非報表集)根據報表名稱獲取報表源程式
- js根據class值獲取元素物件JS物件
- 根據微信code獲取換取使用者登入態資訊
- 如何依據廣告打點資料來獲取使用者增長?
- 獲取v$latch資料來源實驗
- js根據ip地址獲取所在城市JS
- php根據地理座標獲取國家、省份、城市,及周邊資料類PHP
- 快速獲取json鍵值對的key名和快速根據value分組JSON
- js根據IP地址獲取當前的省市JS
- 根據key集合批次從map中獲取value
- swift4.0 物件資料來源根據屬性分組,時間排序Swift物件排序
- (IOS)根據bundle中的檔名讀取圖片iOS
- 根據欄位查表名
- es java 聚合方法——聚合後根據count排序並取前2條資料Java排序
- 例項演示:Excel實現資料更新獲取,並根據公式計算後展示Excel公式
- js根據ip地址獲取城市地理位置JS
- C#根據經緯度獲取實體地址C#
- php 根據給定字串時間獲取時區PHP字串
- activiti 根據 流程例項ID 獲取發起人
- 百度地圖:根據位置獲取座標地圖
- 使用URLConnection物件獲取網路資源資訊物件
- 如何使用 urllib 包獲取網路資源