因此,我正在 Eclipse for Android 4.0 中编写一个简单的计算器,并尝试简化我的代码并使其尽可能简单。我试图清理的地方是我的 findViewById() 的。因为我有按钮 0-9 来实例化,所以我有一个十行长的代码块,如下所示:
b0 = (Button) findViewById(R.id.b0);
b1 = (Button) findViewById(R.id.b1);
...
b9 = (Button) findViewById(R.id.b9);
正如你所看到的,这个东西只是在请求一个 for 循环。所以我想做的是制作两个数组。 Activity 中的一个实例变量数组,用于保存数字键盘的所有 Button 实例变量:
private Button[] numberPad = {b0,b1,b2,b3,b4,b5,b6,b7,b8,b9};
然后是 R.java 文件中 id 类中的另一个数组,其中包含所有按钮 id 变量,如下所示:
private static final int[] numberPad = {b0,b1,b2,b3,b4,b5,b6,b7,b8,b9};
太棒了,我可以使用此循环将十行按钮实例化减少为两行:
for(int i = 0; i < numberPad.length; i++)
numberPad[i] = (Button) findViewById(R.id.numberPad[i]);
当我输入它时,它很好,但是当我保存它时,它会自动恢复为原始形式。我没有看到这段代码有什么问题。据我所知,它不会产生任何错误。为什么我不能以这种方式编辑 R.java 文件?有办法吗?我是不是该?