使用java,android中的循环计数器访问变量

时间:2012-04-20 19:23:19

标签: java android loops counter

如何在循环中使用counter访问声明的变量,如下所示:

声明变量:

Button square0, square1, square2, square3, square4, square5, square6,
        square7, square8, temp;

使用这样的循环访问它们:

for (int i = 0; i < 9; i++) {
    (Button) ("square"+i).setBackgroundResource();

3 个答案:

答案 0 :(得分:3)

你不能不诉诸一些非常可疑的魔法(我甚至认为你不能用Java中的反射来做到这一点)。

改为使用array

答案 1 :(得分:2)

很容易......

Button[] btnArray = new Button[10]; 
 //assign all squares to the array 
btnArray[0] = square1;
for(Button btn : btnArray){
btn.setBackGroundResource();
}

甚至更好地使用像

这样的列表
List<Button> myBtnList = new ArrayList<Button>();
myBtnList.add(square1);

添加直到添加所有按钮,然后使用for each循环,如上图所示。

答案 2 :(得分:0)

正如其他人所说,这在任何编程语言中都是不好的做法。如果您想要访问一系列内容(在您的情况下为Buttons),则应使用ListArray

以下是使用ArrayList Buttons的一个示例:

List<Button> buttonList = new ArrayList<Button>();

Button button1 = new Button();
Button button3 = new Button();
Button button2 = new Button();

buttonList.add(button1);
buttonList.add(button2);
buttonList.add(button3);

// How to get a button out
for(int i = 0; i < buttonList.size(); i++)
    myButton = buttonList.get(i);
    // Do something with myButton here.
}