2012-10-23 33 views
0

今天我注意到一个非常奇怪的错误 - 系统在方法SetBackgroundResource()中使用了错误的ResId。当然,我认为这是我的错误。我通过从R文件复制并粘贴ResId来修复ResId。在我重新安装应用程序多次进行测试后,我注意到再次设置了错误的图像,所以它弄乱了我的应用程序。我去了相应的方法,发现Eclipse插入了一个非常类似(但错误!.015而不是..016)的ResId作为方法参数,没有任何我的操作。Eclipse ADT错误 - 使用错误的ResId

我不认为这是重要的,但是这个奇怪的事情总是发生在这里:

LinearLayout nlap = new LinearLayout(this); 
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.MATCH_PARENT, 
    LinearLayout.LayoutParams.WRAP_CONTENT); 
params.setMargins(10, 5, 10, 0); 
nlap.setLayoutParams(params); 
nlap.setOrientation(LinearLayout.HORIZONTAL); 
nlap.setBackgroundResource(0x7f020016); 
nlap.getBackground().setAlpha(111); 
return nlap; 
+0

尝试清理您的项目。对硬编码Res ID值不是一个好的做法,总是使用'R.id.resId'访问它们' – JiTHiN

+0

http://stackoverflow.com/questions/13478052/android-adt-moving-views-mixes - 最多的IDS-错误? – pjv

回答

0

仅清除所有的相关项目,并再次建立。

从不硬编码R.id.

我以前见过这种情况:对于旧版本的ADT和库项目,有时会发生这种情况。有没有看到它与ADT 21.

最近,对于我来说,Eclipse已经开始强调R.id的红色,好像他们是错误的或未知的,但他们不显示在问题视图,而且他们实际上不是错误。我仍在为此寻找一个错误报告。

+0

请在这里实际提交错误报告:http://b.android.com。文件在组件工具下。首先,什么阻止你这么做? – pjv