一、反射java
java的反射是如此強大,以致於咱們在走投無路時老是想起它。咱們來看一段代碼:android
String FileName ="xxxx"spa
try{資源
Field field=R.drawable.class.getField( FileName );get
int i= field.getInt(new R.drawable());io
Log.d(tag,i+"");class
return i;反射
}catch(Exception e){方法
Log.e(tag,e.toString());co
return R.drawable.unknow;
}
FileName 是一個在R.drawable 資源名稱
二、android官方提供方法:使用Resources 類的 getIdentifier方法
String FileName =「zzzzz」;//資源名稱
String packgeNameStr ="com.tanle." //包名
Resources res=getResources();
return res.getIdentifier( FileName ,"drawable", packgeNameStr );