【转】Android导出jar library时资源resource id获取的问题
public static int getId(Context paramContext, String paramString1, String paramString2) { try { Class localClass = Class.forName(paramContext.getPackageName() + ".R$" + paramString1); Field localField = localClass.getField(paramString2); int i = Integer.parseInt(localField.get(localField.getName()).toString()); return i; } catch (Exception localException) { Log.e("getIdByReflection error", localException.getMessage()); }? return 0; }
public static int getLayoutResIDByName(Context context, String name) { return context.getResources().getIdentifier(name, "layout", context.getPackageName()); }? public static int getIdResIDByName(Context context, String name) { return context.getResources().getIdentifier(name, "id", context.getPackageName()); }? public static int getStringResIDByName(Context context, String name) { return context.getResources().getIdentifier(name, "string", context.getPackageName()); }? public static int getDrawableResIDByName(Context context, String name) { return context.getResources().getIdentifier(name, "drawable", context.getPackageName()); }? public static int getRawResIDByName(Context context, String name) { return context.getResources().getIdentifier(name, "raw", context.getPackageName()); }
Android工程间相互依赖,只适用于在Eclipse中开发
参考官方说明http://developer.android.com/guide/developing/projects/projects-eclipse.html