单击按钮字段时更新文本

时间:2011-02-23 15:46:19

标签: blackberry

我正在尝试在单击按钮时设置文本。我正在初始化一个BigVector,它将使用其值更新按钮的文本。我正在使用计数器值来确定应选择的BigVector值。问题是,下面的代码期望计数器值是最终的。

非常欢迎在点击字段时更新字段上更好的方法。

这是我的代码 -

    final BigVector bigStringVectorA = new BigVector();
    bigStringVectorA.addElement("A Test answer 1");
    bigStringVectorA.addElement("A Test answer 2");
    bigStringVectorA.addElement("A Test answer 3");

    aAnswerOptionButton.setChangeListener(new FieldChangeListener() {  
         public void fieldChanged(Field field, int context) {  
            aAnswerOptionButton.setText((String)bigStringVectorA.elementAt(counter));
        }
   });

由于

2 个答案:

答案 0 :(得分:2)

您可以将计数器设置为外部类或匿名FieldChangeListener中的实例变量:

aAnswerOptionButton.setChangeListener(new FieldChangeListener() {
  private int counter = 0;
  public void fieldChanged(Field field, int context) {
    counter++;
    if (counter > bigStringVectorA.size()) {
      counter = 0;
    }
    aAnswerOptionButton.setText((String)bigStringVectorA.elementAt(counter));
  }
});

答案 1 :(得分:0)

您可以尝试调用该字段的invalidate()方法,并强制重绘该按钮。

aAnswerOptionButton.setChangeListener(new FieldChangeListener() {  
         public void fieldChanged(Field field, int context) {  
            aAnswerOptionButton.setText((String)bigStringVectorA.elementAt(counter));
            aAnswerOptionButton.invalidate();
        }
   });