Android編程實現(xiàn)通過反射獲取資源Id的方法
本文實例講述了Android編程實現(xiàn)通過反射獲取資源Id的方法。分享給大家供大家參考,具體如下:
在將自己寫的工具打成.jar包的時候,有時候會需要引用到res中的資源,這時候不能將資源一起打包,只能通過反射機制動態(tài)的獲取資源.
特別用在自己定義一個工具將其打成.jar包時,特別注意資源的獲取
1、封裝成一個工具類
package com.cp.utils;
import android.content.Context;
public class CPResourceUtil {
public static int getLayoutId(Context paramContext, String paramString) {
return paramContext.getResources().getIdentifier(paramString, "layout",
paramContext.getPackageName());
}
public static int getStringId(Context paramContext, String paramString) {
return paramContext.getResources().getIdentifier(paramString, "string",
paramContext.getPackageName());
}
public static int getDrawableId(Context paramContext, String paramString) {
return paramContext.getResources().getIdentifier(paramString,
"drawable", paramContext.getPackageName());
}
public static int getStyleId(Context paramContext, String paramString) {
return paramContext.getResources().getIdentifier(paramString,
"style", paramContext.getPackageName());
}
public static int getId(Context paramContext, String paramString) {
return paramContext.getResources().getIdentifier(paramString,"id", paramContext.getPackageName());
}
public static int getColorId(Context paramContext, String paramString) {
return paramContext.getResources().getIdentifier(paramString,
"color", paramContext.getPackageName());
}
public static int getArrayId(Context paramContext, String paramString) {
return paramContext.getResources().getIdentifier(paramString,
"array", paramContext.getPackageName());
}
}
2、資源的獲取
<string name="version_update_schedule">已下載%1$s請稍等…</string>
String text=mContext.getResources().getString(CPResourceUtil.getStringId(mContext, "version_update_schedule")); TextView.setText(String.format(text, p+"%"));
version_update_schedule 是string文件中name
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android資源操作技巧匯總》、《Android布局layout技巧總結》、《Android視圖View技巧總結》、《Android數(shù)據(jù)庫操作技巧總結》、《Android文件操作技巧匯總》、《Android開發(fā)入門與進階教程》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
相關文章
Android應用中使用ContentProvider掃描本地圖片并顯示
這篇文章主要介紹了Android應用中使用ContentProvider掃描本地圖片并顯示的方法,比調用本地圖庫的方法更加靈活和可定制,需要的朋友可以參考下2016-04-04
[Android] 通過GridView仿微信動態(tài)添加本地圖片示例代碼
本篇文章主要介紹了[Android] 通過GridView仿微信動態(tài)添加本地圖片示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01
Android監(jiān)聽鍵盤狀態(tài)獲取鍵盤高度的實現(xiàn)方法
這篇文章主要給大家介紹了關于Android監(jiān)聽鍵盤狀態(tài)獲取鍵盤高度的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-12-12
詳解Android——藍牙技術 帶你實現(xiàn)終端間數(shù)據(jù)傳輸
藍牙技術在智能硬件方面有很多用武之地,本篇文章主要介紹了Android——藍牙技術,實現(xiàn)兩個終端間數(shù)據(jù)的傳輸,有興趣的朋友可以了解一下。2016-12-12
Android實現(xiàn)Activity、Service與Broadcaster三大組件之間互相調用的方法詳解
這篇文章主要介紹了Android實現(xiàn)Activity、Service與Broadcaster三大組件之間互相調用的方法,結合實例形式詳細分析了Activity、Service與Broadcaster三大組件相互調用的原理,實現(xiàn)方法與相關注意事項,需要的朋友可以參考下2016-03-03

