【发布时间】:2011-05-23 00:14:11
【问题描述】:
我在处理 Android 上动态创建的按钮时遇到问题。我正在创建 N 个按钮,单击按钮时我必须执行相同的方法,但我必须知道单击了哪个按钮。
for (int i = 0; i < NO_BUTTONS; i++){
Button btn = new Button(this);
btn.setId(2000+i);
...
btn.setOnClickListener((OnClickListener) this);
buttonList.addView(btn);
list.add(btn);
目前我正在为每个按钮添加 ID,并使用下面的方法查看单击了哪个按钮。 (线btn.setId(2000+i); 和btn.setOnClickListener((OnClickListener) this);)。这个方法也在activity中实现。
@Override
public void onClick(View v) {
switch (v.getId()){
case 2000: selectButton(0);
break;
...
case 2007: selectButton(7);
break;
}
}
这对我来说看起来不太好,所以我想问有没有更好的方法来做到这一点?或者如何向 onclick 事件发送一些信息?有什么建议吗?
【问题讨论】:
标签: android button android-widget android-layout