我想在每一行中获得按钮点击事件。怎么做到的?我尝试了这个link,如果每行只有一个按钮,它就可以正常工作。但在我的情况下,每行中有多个按钮。 10,20和11,21是我的按钮。
在上面链接的RowManager类中,我添加了以下代码 -
button = new ButtonField("1" + index, ButtonField.CONSUME_CLICK);
button.setCookie(new Integer(index));
button.setFont(textFont);
add(button);
button1 = new ButtonField("2" + index, ButtonField.CONSUME_CLICK);
button1.setCookie(new Integer(index));
button1.setFont(textFont);
add(button1);
现在在StackScreen类上,public void fieldChanged(Field field,int context),我如何得到点击按钮的名称?
答案 0 :(得分:2)
由我自己解决 -
public static int v=0;
button = new ButtonField("1" + index, ButtonField.CONSUME_CLICK);
button.setCookie(new Integer(v+1)); //set cookie
button.setFont(textFont);
add(button);
v=v+1; //increment the value of v
button1 = new ButtonField("2" + index, ButtonField.CONSUME_CLICK);
button1.setCookie(new Integer(v+1));
button1.setFont(textFont);
add(button1);
v=v+1;
和 -
public void setChangeListener(FieldChangeListener listener) {
// only the button field supports change listeners
button.setChangeListener(listener);
button1.setChangeListener(listener);
}
然后在StackScreen类 -
public void fieldChanged(Field field, int context) {
Object f=field.getCookie();
Dialog.alert("Button " +f);
}