【发布时间】:2010-11-21 18:25:35
【问题描述】:
我正在编写一个动态输出一些按钮数组的 Android 应用程序。 我的问题是如何实现按钮数组的 onClickListener() 功能。 我的意思是如何识别在 public void onClick() 方法中单击的按钮? 我需要根据点击的按钮显示一个 toast。
【问题讨论】:
标签: android
我正在编写一个动态输出一些按钮数组的 Android 应用程序。 我的问题是如何实现按钮数组的 onClickListener() 功能。 我的意思是如何识别在 public void onClick() 方法中单击的按钮? 我需要根据点击的按钮显示一个 toast。
【问题讨论】:
标签: android
onClick() 方法被传递给被点击的 View...
public void onClick(View v) {
...
}
使用 v.getId() 返回按钮的标识符。
【讨论】:
您可以创建一个派生自OnClickListener 的类,该类在构造函数中获取按钮 ID。
类似:
class MyClickListener extends OnClickListener() {
int buttonId;
MyClickListener(int id) {
buttonId = id;
}
protected void onClick(View v) {
... // do something with buttonId
}
}
然后,在你的onCreate 中,你会这样做:
int i, nb = mButtons.size(); // if mButtons is a List<Button>
for (i = 0; i < nb; i++) {
mButtons.get(i).setOnClickListener(new MyClickListener(i));
}
【讨论】: