- Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathMResource.java
More file actions
Latest commit
47 lines (38 loc) · 1.23 KB
/
Copy pathMResource.java
File metadata and controls
47 lines (38 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
packagecom.utils.realmo;
importandroid.content.Context;
/**
* 根据资源的名字获取其ID值
* @author realmo
*
*/
publicclassMResource {
publicstaticintgetIdByName(Contextcontext, StringclassName, Stringname) {
StringpackageName = context.getPackageName();
Classr = null;
intid = 0;
try {
r = Class.forName(packageName + ".R");
Class[] classes = r.getClasses();
ClassdesireClass = null;
for (inti = 0; i < classes.length; ++i) {
if (classes[i].getName().split("\\$")[1].equals(className)) {
desireClass = classes[i];
break;
}
}
if (desireClass != null)
id = desireClass.getField(name).getInt(desireClass);
} catch (ClassNotFoundExceptione) {
e.printStackTrace();
} catch (IllegalArgumentExceptione) {
e.printStackTrace();
} catch (SecurityExceptione) {
e.printStackTrace();
} catch (IllegalAccessExceptione) {
e.printStackTrace();
} catch (NoSuchFieldExceptione) {
e.printStackTrace();
}
returnid;
}
}