您的位置:首页 > 移动开发 > Android开发

android代码中动态获取资源ID

2013-05-22 20:27 405 查看
ResourcesId.ziphttp://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);
}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: