通过反射的方法获取资源id
2018-02-22 14:52
399 查看
import android.content.Context; public class MResource { public static int getIdByName(Context context, String className, String name) { String packageName = context.getPackageName(); Class r = null; int id = 0; try { r = Class.forName(packageName + ".R"); Class[] classes = r.getClasses(); Class desireClass = null; for (int i = 0; i < classes.length; ++i) { String classname1=classes[i].getName(); if (classname1.indexOf(className)!=-1) //是否包含某个具体字符串 { desireClass = classes[i]; break; } } if (desireClass != null) { id = desireClass.getField(name).getInt(desireClass); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (NoSuchFieldException e) { e.printStackTrace(); } return id; } }
相关文章推荐
- Android编程实现通过反射获取资源Id的方法
- Android中通过反射获取资源Id
- 通过反射动态获取资源id
- Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)
- Android中通过反射获取资源Id
- Android通过反射动态获取资源Id
- Android中使用反射通过资源名字找到资源ID的方法
- Android中通过反射获取资源Id
- 利用反射R文件,通过资源名称获取ID
- Android中通过反射获取资源Id
- Android中通过反射获取资源Id
- Android通过反射获取资源ID
- android通过反射获取资源ID的工具类
- Android中通过反射获取资源Id
- 通过反射获取资源ID,用于ant、eclipse等工具引用arr资源
- Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)
- 通过getIdentifier获取资源id
- 通过动态获取资源ID,执行接口回调-----来实现日夜模式切换
- web developer tips (83):通过反射从堆栈里获取调用的方法名称
- android 通过字符串来获取R下面资源的ID 值