android文件中每个文件都有一个ID,如下图所示,左边的0x7f060000即是文件的ID:
如果我们想在代码中获取这个文件的ID应该使用高效率的反射机制,可以新建一个Java类代码如下:
public class ResourceMan {
public static int getResId(String variableName, Class<?> c) {
try {
Field idField = c.getDeclaredField(variableName);
return idField.getInt(idField);
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
}
或者在当前类增加一个方法:
public static int getResId(String variableName, Class<?> c) {
try {
Field idField = c.getDeclaredField(variableName);
return idField.getInt(idField);
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
调用方式:
其中icon是文件名称,不需要增加后缀
int id = ResourceMan.getResId("icon",R.drawable.class);
//或者int id = getResId("icon",R.drawable.class);
更多内容访问omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2019 • OmegaXYZ-版权所有 转载请注明出处