您好我正在与Gestures合作,我需要导入但我得到错误
com.android.internal.R;
导入com.android.internal.R无法解析
请帮助我答案 0 :(得分:36)
你没有说明为什么你需要访问com.android.internal.R
,但遗憾的是你根本无法导入它(“内部”是一个线索,它不是公共API的一部分)。谷歌没有透露这一点,因为它可能会发生变化。
可以通过调用Resources.getSystem()
来获取内部资源。要获取特定资源标识符的值,您必须知道其名称,然后使用以下代码查找值:
Resources res = Resources.getSystem();
int id = res.getIdentifier("resource name", "resource type", "android");
请注意,您使用的任何名称都可能在Android的未来版本中消失。
答案 1 :(得分:5)
我有几点建议:
1)确保除R相关错误外没有任何其他错误。在Eclipse,Android Tools - >中右键单击项目文件夹。修复项目属性。
2)检查以确保您输入了正确的R.有时可以导入默认的Android.R。
答案 2 :(得分:4)
是的,你可以使用内部R和一些脏技巧(脏技巧= Java反射)。
只是一个例子:
Class clasz = Class.forName("com.android.internal.R$styleable")
Field field = clasz.getDeclaredField("TextAppearance");
field.setAccessible(true);
int[] textAppearanceStyleArr = (int[])field.get(null);
field = clasz.getDeclaredField("TextAppearance_textSize");
field.setAccessible(true);
int textSizeStyle = (Integer)field.get(null);
答案 3 :(得分:3)
首先,什么是手势? 你的gen文件夹中有一个名为com.android.internal的包吗?它包含R.java吗? 如果没有,请尝试Project->在Eclipse中清理。如果它仍然不起作用,您的XML布局文件可能会出错。