android获取com.android.internal.R

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:04   1012   0

使用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");

转载于:https://www.cnblogs.com/pandans/p/3288847.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP