使用getIdentifier 獲取資源Id

2021-07-04 09:04:15 字數 1270 閱讀 1111

使用getidentifier()方法可以方便的獲各應用包下的指定資源id。

主要有兩種方法:

(1)方式一

resources resources = context.getresources();

int indentify = resources.getidentifier(

org.loveandroid.androidtest:drawable/icon",

null,

null);

if(indentify>0)

第乙個引數格式是:包名 + : +資源資料夾名 + / +資源名;是這種格式 然後其他的可以為null 

(2)方式二

resources resources = context.getresources();

intindentify

= getresources().getidentifier("icon", 

"drawable", 

"org.anddev.android.testproject");

第乙個引數為id名,第二個為資源屬性是id或者是drawable,第三個為包名。 

如果找到了,返回資源id,如果找不到,返回0 。

寫了乙個方法:獲取資源id,如果不存在返回0

static int getresourceid(context context,string name,stringtype,string packagename) catch(namenotfoundexception e)

return0; }

從資料庫裡讀取名稱,然後呼叫。直接用r.drawable.?無法呼叫。查了好多地方最後找到了個方法,分享給大家,希望有幫助。

主要由兩種方法,個人建議第二種。

假設建立工程的時候,填寫的package名字為:com.test.image

int resid = getresources().getidentifier("imagename", "drawable","com.test.image");

drawable image = getresources().getdrawable(resid);

使用getIdentifier 獲取資源Id

使用getidentifier 方法可以方便的獲各應用包下的指定資源id。主要有兩種方法 1 方式一 resources resources context.getresources int indentify resources.getidentifier org.loveandroid.andr...

使用getIdentifier 獲取資源Id

標籤 getidentifier android 2013 07 12 18 35 18020人閱讀收藏 舉報 android 37 使用getidentifier 方法可以方便的獲各應用包下的指定資源id。主要有兩種方法 1 方式一 resources resources context.getr...

使用getIdentifier 獲取資源Id

使用getidentifier 方法可以方便的獲各應用包下的指定資源id。主要有兩種方法 1 方式一 resources resources context.getresources int indentify resources.getidentifier org.loveandroid.andr...