今天发现一个很奇怪的bug——系统在SetBackgroundResource()方法中使用了错误的ResId。当然,我认为这是我的错误。我通过从 R 文件复制和粘贴 ResId 来修复它。在我多次重新安装该应用程序进行测试后,我注意到再次设置了错误的图像,所以它弄乱了我的应用程序。我去了相应的方法,发现 Eclipse 插入了一个非常相似(但错误!..015 而不是 ..016)的 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;