我正在尝试在单击按钮时设置文本。我正在初始化一个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));
}
});
由于
答案 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();
}
});