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
- Kubernetes 教程:根據 PID 獲取 Pod 名稱
- 根據微信code獲取換取使用者登入態資訊
- js根據ip地址獲取省份城市的方法JS
- 根據id獲取元素的寬度的方法
- Spring多資料來源獲取Spring
- 根據 IP 獲取省市名稱
- 使用URLConnection物件獲取網路資源資訊物件
- 根據屬性字串獲取屬性值字串
- 如何依據廣告打點資料來獲取使用者增長?
- selenium 知網爬蟲之根據【關鍵詞】獲取文獻資訊爬蟲
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- Java根據前端返回的欄位名進行查詢資料的方法Java前端
- 使用 C# 獲取 Kubernetes 叢集資源資訊C#
- js根據IP地址獲取當前的省市JS
- 根據key集合批次從map中獲取value
- (IOS)根據bundle中的檔名讀取圖片iOS
- ABAP 根據使用者名稱查姓名
- 根據欄位查表名
- es java 聚合方法——聚合後根據count排序並取前2條資料Java排序
- swift4.0 物件資料來源根據屬性分組,時間排序Swift物件排序
- Android使用Camera2獲取預覽資料Android
- passport 根據 header 頭中的 token 獲取 OAuth_access_tokens 表中的資料PassportHeaderOAuth
- 例項演示:Excel實現資料更新獲取,並根據公式計算後展示Excel公式
- php 根據給定字串時間獲取時區PHP字串
- 百度地圖:根據位置獲取座標地圖
- js根據ip地址獲取城市地理位置JS
- C#根據經緯度獲取實體地址C#
- activiti 根據 流程例項ID 獲取發起人
- Android Activity Deeplink啟動來源獲取原始碼分析Android原始碼
- golang 介面按需獲取資源Golang
- 獲取類名稱的方法
- 根據開源資料庫選擇合適的工具資料庫
- 根據兩個日期之間獲取LocalDate日曆列表LDA
- 易優CMS根據aid獲取文件頁面連結AI
- mybatis入門程式:mybatis根據使用者名稱稱模糊查詢使用者資訊MyBatis
- Java根據前端返回的欄位名進行查詢資料Java前端