`
wangleyiang
  • 浏览: 214734 次
社区版块
存档分类
最新评论

Android R

阅读更多
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

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics