我有一个投票小部件,其中包含单选按钮和标签投票。
- 当用户选择一个选项时,该选项的投票应+1;
- 当选择另一个选项时,旧选项的投票应-1,新选项的投票应+1。
我使用了ValueChangeHandler来实现这个功能:
valueRadioButton.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
@Override
public void onValueChange(ValueChangeEvent<Boolean> e) {
if(e.getValue() == true)
{
System.out.println("select");
votesPlusDelta(votesLabel, +1);
}
else
{
System.out.println("deselect");
votesPlusDelta(votesLabel, -1);
}
}
});
private void votesPlusDelta(Label votesLabel, int delta)
{
int votes = Integer.parseInt(votesLabel.getText());
votes = votes + delta;
votesLabel.setText(votes+"");
}
当用户选择新的选项时,旧的选项监听器应该跳转到 else 语句,但它并不会(只有 +1 的部分有效)。我该怎么办?