使用class.jar, layout.jar可以直接導入com.android.internal.R
但是有個方法獲取不到值mDatePicker.findViewById(com.android.internal.R.id.day)
很奇怪,在debug的時候,watch表達式能取到值,但是代碼中取得的值卻是null,一直無果者則尋找另外的出路了。
獲取com.android.internal.R.id.month為例
方法一:反射變量
try{
Class c = Class.forName("com.android.internal.R$id");
Object obj = c.newInstance();
Field field = c.getField("month");
id = field.getInt(obj);
}catch(Exception e){
}
方法二:通過Resource
Resources mResources = Resources.getSystem(); //getResources()測試也可以
id = mResources.getIdentifier("month", "id", "android");