代码如下:
import java.lang.reflect.Field;
import java.util.ArrayList;
/**
* 利用java反射机制,通过图片的id得到图片的名字
*
* @author hh
*
*/
public class GetDrawableName {
Class<R.drawable> c = R.drawable.class;
ArrayList<DrawableImage> drawableImages;
class DrawableImage {
String fileName;// 名字
int value;// id
}
public GetDrawableName() {
}
public String getIdName(int id) {
drawableImages = new ArrayList<DrawableImage>();
for (Field f : c.getFields()) {
try {
DrawableImage drawableImage = new DrawableImage();
drawableImage.fileName = f.getName();
drawableImage.value = f.getInt(f);
drawableImages.add(drawableImage);
if (id == drawableImage.value) {
return drawableImage.fileName;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
}