Android中通過反射獲取資源Id

2021-07-04 16:28:40 字數 1018 閱讀 2658

在將自己寫的工具打成.jar包的時候,有時候會需要引用到res中的資源,這時候不能將資源一起打包,只能通過反射機制動態的獲取資源.

特別用在自己定義乙個工具將其打成.jar包時,特別注意資源的獲取

1、封裝成乙個工具類 

package com.cp.utils;

import android.content.context;

public class cpresourceutil

public static int getstringid(context paramcontext, string paramstring)

public static int getdrawableid(context paramcontext, string paramstring)

public static int getstyleid(context paramcontext, string paramstring)

public static int getid(context paramcontext, string paramstring)

public static int getcolorid(context paramcontext, string paramstring)

public static int getarrayid(context paramcontext, string paramstring)

}

2、資源的獲取

string text=mcontext.getresources().getstring(cpresourceutil.getstringid(mcontext, "version_update_schedule"));

textview.settext(string.format(text, p+"%"));

version_update_schedule 是string檔案中name

Android中通過反射獲取資源Id

在將自己寫的工具打成.jar包的時候,有時候會需要引用到res中的資源,這時候不能將資源一起打包,只能通過反射機制動態的獲取資源.特別用在自己定義乙個工具將其打成.jar包時,特別注意資源的獲取 1 封裝成乙個工具類 package com.cp.utils import android.conte...

android 應用通過自定義資源名獲取資源

對應資源陣列 private static final string res icon name 對應字串資源陣列 statusbar launcher wall lookscreen 關鍵點通過下面方式獲取id,drawable資源 public static int getresiconid c...

反射 通過反射獲取類的完整結構

獲取執行時類的屬性 public class testfields 2 getdeclaredfields 能夠獲取執行時類本身中宣告的所有屬性 field fields1 clazz.getdeclaredfields for field f fields1 許可權修飾符,變數型別,變數名 獲取屬...