假如在drawable目录下放一个图片文件,由于一些原因,我们在程序中仅仅知道它的文件名,而不知道它的资源ID,当我们需要这个资源ID的时候,可以使用下面的一行代码获取到:

方法一:

1. /**
2. * 获取图片名称获取图片的资源id的方法
3. * @param imageName
4. * @return
5. */
6. public int
7. Context ctx=getBaseContext();
8. int resId = getResources().getIdentifier(imageName, "drawable"
9. return

 方法二:

1. /**
2. * 获取图片名称获取图片的资源id的方法
3. * @param imageName
4. * @return
5. */
6. public int
7. class;
8. null;
9. int
10. try
11. field = drawable.getField(imageName);
12. r_id = field.getInt(field.getName());
13. catch
14. r_id=R.drawable.b_nothing;
15. "ERROR", "PICTURE NOT FOUND!");
16. }
17. return
18. }

 

 

​知道资源ID,获取资源的文件名​


  1. getResources().getResourceName(resid)