来自 Actionscript 3,Java 在这里似乎有点不同:
拥有三个Button,Button btn0;按钮 btn1; 按钮 btn2; 我想遍历它们设置 onClickListeners() 像这样:
for (int i=0; i < 4; i++) {
this["btn"+i].setOnClickListener(this);
}
这甚至可能吗?
基本上,您是在询问 Java 中可用的数据结构,让我们看看一些选项。如果您使用 a ,则可以在您的代码中重现该行为Map
:
// instantiate the map
Map<String, Button> map = new HashMap<String, Button>();
// fill the map
map.put("btn0", new Button());
// later on, retrieve the button given its name
map.get("btn" + i).setOnClickListener(this);
或者,您可以简单地使用索引作为标识符,在这种情况下,最好使用 a List
:
// instantiate the list
List<Button> list = new ArrayList<Button>();
// fill the list
list.add(new Button());
// later on, retrieve the button given its index
list.get(i).setOnClickListener(this);
或者,如果按钮的数量是固定的并且事先已知,请使用数组:
// instantiate the array
Button[] array = new Button[3];
// fill the array
array[0] = new Button();
// later on, retrieve the button given its index
array[i].setOnClickListener(this);