public static void main() throws SecurityException, NoSuchFieldException,
IllegalArgumentException, IllegalAccessException,
ClassNotFoundException
{
String resourceName = "R.drawable.icon";
String packageName = "com.bbcode";
int resourceId = getResourceId(packageName, resourceName);
if(R.drawable.icon == resourceId){
//success
;
}
}
public static int getResourceId(String packageName, String resourceName)
throws SecurityException, NoSuchFieldException,
IllegalArgumentException, IllegalAccessException,
ClassNotFoundException
{
String[] splitStr = resourceName.split("\\.");
String classStr = splitStr[0] + "$" + splitStr[1];
Class c = Class.forName(packageName + "." + classStr);
Field f = c.getDeclaredField(splitStr[2]);
return f.getInt(f.getName());
}通过名字获得图片的id
最新推荐文章于 2025-05-07 15:23:10 发布
本文介绍了一种在Java中通过指定包名和资源名称来获取对应资源ID的方法。此方法利用反射机制实现了跨包访问资源的功能,适用于Android等应用程序开发场景。
4792

被折叠的 条评论
为什么被折叠?



