获取一个资源的resId的值:

 一般我们可以在Android工具帮我们生成的R.java里看到这个数值,并且这个值一般都是integer的值。

 以前我们在获取这个resId的值的时候,我会考虑用反射的方式去获取它。比如:

 1 public static int getResId(String fieldName, Context context, Class<?> c) {
 2     int resId = -1;
 3     try {
 4         Field f = c.getDeclaredField(fieldName);
 5         resId = f.getInt(f);
 6     } catch (Exception e) {
 7         e.printStackTrace();
 8     }
 9     return resId; 

10 } 

 

 而现在我们可以通过系统给的一个比较简单的方法去获取这个值了,以前一直不知道它的存在,惭愧,如下:

1 public static int getResId(String fieldName, String resType, Context context) {
2     return context.getResources().getIdentifier(fieldName, resType, MY_PROJECT_PACKAGE);

3 }