import java.lang.reflect.Field;
import android.content.Context;
import android.util.Log;
public class ResourceUtil {
private static String TAG = "ResourceUtil";
private static ResourceUtil instance;
private Context context;
private static Class id = null;
private static Class drawable = null;
private static Class layout = null;
private static Class anim = null;
private static Class style = null;
private static Class string = null;
private static Class array = null;
private ResourceUtil(Context paramContext) {
this.context = paramContext.getApplicationContext();
try {
drawable = Class.forName(this.context.getPackageName() + ".R$drawable");
} catch (ClassNotFoundException localClassNotFoundException1) {
Log.i(TAG, localClassNotFoundException1.getMessage());
}
try {
layout = Class.forName(this.context.getPackageName() + ".R$layout");
} catch (ClassNotFoundException localClassNotFoundException2) {
Log.i(TAG, localClassNotFoundException2.getMessage());
}
try {
id = Class.forName(this.context.getPackageName() + ".R$id");
} catch (ClassNotFoundException localClassNotFoundException3) {
Log.i(TAG, localClassNotFoundException3.getMessage());
}
try {
anim = Class.forName(this.context.getPackageName() + ".R$anim");
} catch (ClassNotFoundException localClassNotFoundException4) {
Log.i(TAG, localClassNotFoundException4.getMessage());
}
try {
style = Class.forName(this.context.getPackageName() + ".R$style");
} catch (ClassNotFoundException localClassNotFoundException5) {
Log.d(TAG, localClassNotFoundException5.getMessage());
}
try {
string = Class.forName(this.context.getPackageName() + ".R$string");
} catch (ClassNotFoundException localClassNotFoundException6) {
Log.d(TAG, localClassNotFoundException6.getMessage());
}
try {
array = Class.forName(this.context.getPackageName() + ".R$array");
} catch (ClassNotFoundException localClassNotFoundException7) {
Log.d(TAG, localClassNotFoundException7.getMessage());
}
}
public static ResourceUtil getResofR(Context paramContext) {
if (instance == null)
instance = new ResourceUtil(paramContext);
return instance;
}
public int getAnim(String paramString) {
return getResofR(anim, paramString);
}
public int getId(String paramString) {
return getResofR(id, paramString);
}
public int getDrawable(String paramString) {
return getResofR(drawable, paramString);
}
public int getLayout(String paramString) {
return getResofR(layout, paramString);
}
public int getStyle(String paramString) {
return getResofR(style, paramString);
}
public int getString(String paramString) {
return getResofR(string, paramString);
}
public int getArray(String paramString) {
return getResofR(array, paramString);
}
private int getResofR(Class<?> paramClass, String paramString) {
if (paramClass == null) {
throw new IllegalArgumentException("ResClass is not initialized.");
}
try {
Field localField = paramClass.getField(paramString);
int k = localField.getInt(paramString);
return k;
} catch (Exception localException) {
localException.printStackTrace();
}
return -1;
}
}
来源:http://my.eoe.cn/119358/archive/552.html