ResourcesId.zip:http://download.csdn.net/detail/victoryckl/5430775
https://github.com/victoryckl/ResourcesId.git
动态获取资源ID,
避免打包成jar文件,或者移植代码到别的APK中时,R.java import错误。
package com.example.resid; import android.content.Context; import android.content.res.Resources; public class ResourcesId { private static final String TAG = "ResourcesId"; private static Context mContext; private static Resources mResources; private static String mPackageName; private ResourcesId() {} private static class ResourcesIdHolder { private static ResourcesId instance = new ResourcesId(); } private static void setContext(Context context) { if (context != null) { mContext = context.getApplicationContext(); mResources = mContext.getResources(); mPackageName = mContext.getPackageName(); } } public static ResourcesId getInstance(Context context) { ResourcesIdHolder.instance.setContext(context); return ResourcesIdHolder.instance; } public int getResourcesId(String defType, String name) { if (mResources != null) { return mResources.getIdentifier(name, defType, mPackageName); } return 0; } public static int getResourcesId(Context context, String defType, String name) { return ResourcesId.getInstance(context).getResourcesId(defType, name); } }