I have a for
loop that creates ButtonFields with identical text values. I want to get a distinct event from each of those buttons, which tells me which index of the for
loop created the button. I don't want to create an anonymous class for each ButtonField.
问问题
92 次
2 回答
3
如果他们一一进行(我从您的帖子中假设),您可以记住fieldChanged
方法中下一个代码中第一个使用的索引:
if (field instanceof ButtonField) {
int buttonIndex = field.getManager().getFieldIndex(field) - zeroButtonInex;
}
不要忘记分配FieldChangeListener
给这些按钮中的每一个。
或者确保您可以从ButtonField
(可以匿名)创建新课程,您可以在其中保存索引并为其设置吸气剂。
于 2012-08-29T06:29:42.530 回答
3
您已将按钮添加到数组中。我会给你一个想法来试试这个:
private ButtonField buttonsObj[];
在for
循环之前的代码中,您知道按钮的数量,因此您可以初始化数组长度。
int size = 10;
buttonsObj = new ButtonFields[size];
for(int i = 0; i < size; i++)
{
buttonsObj[i] = new ButtonFields["btn"];
buttonsObj[i].setChangeListener(this);
add(buttonsObj[i]);
}
public void fieldChanged(Field field, int context) {
for(int i=0;i<size;i++) {
if(field == buttonsObj[i]) {
// you can trigger your event
}
}
}
于 2012-08-29T06:30:08.267 回答