我在一个类中定义了一个点击处理程序方法。如果单击屏幕上的取消按钮,我将尝试调用特定方法。这是代码片段 -
boolean tempCheck;
@Override
protected void onBind() {
super.onBind();
...
...
getViewName().getVar().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
//Doing some operation and making tempCheck true
tempCheck = true;
}
});
If(tempCheck){
this.box.getButtonName().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
this.box.hide();
this.getViewName().hide();
}
});
} else {
this.callToMethodA();
}
}
单击按钮时, tempCheck 布尔变量变为 true。
临时检查 = 真;
但如果条件失败,它总是进入其他部分。
如果(临时检查)
为什么会这样?这是因为java如何管理闭包吗?注意:如果条件必须在块之外,因为 this.callToMethodA() 也被其他点击处理程序使用。