在Blackberry的每一行中单击获取按钮

时间:2013-03-22 08:18:38

标签: blackberry

我想在每一行中获得按钮点击事件。怎么做到的?我尝试了这个link,如果每行只有一个按钮,它就可以正常工作。但在我的情况下,每行中有多个按钮。 10,20和11,21是我的按钮。

enter image description here

在上面链接的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),我如何得到点击按钮的名称?

1 个答案:

答案 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);
 }