GWTP:onUnbind()在关闭演示者之后从未调用过 [英] GWTP: onUnbind() never called after closing a presenter

查看:172
本文介绍了GWTP:onUnbind()在关闭演示者之后从未调用过的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个GWTP MyPresenter在onBind()上注册一个处理程序,它的工作原理很好。问题是当我离开演示者使用浏览器上的BACK箭头。 onUnbind()不会被调用(我尝试使用一个断点来覆盖该方法,但是永远不会被执行)。所以这个处理程序永远不会被注册。哪里不对?谢谢。

  public class MyPresenter extends 
PresenterWidget< ViewDiagramPresenter.MyView> {
[...]

@Override
protected void onBind(){
super.onBind();
registerHandler(getEventBus()。addHandler(myEvent.getType(),myHandler));
}
}


解决方案

Presenter 隐藏时,我记得 onUnBind()不会调用,这将触发 onHide()方法。具体来说,我认为 onUnBind()应该被手动调用 - 你可以例如。如果您覆盖 onHide()



希望有所帮助。



干杯,


I have a GWTP MyPresenter that registers a handler at onBind(), and it works perfectly. The problem is when I leave the presenter using the BACK arrow on the browser. The onUnbind() is never called (I tried with an breakpoint overriding the method, but is never executed). So that this handler is never unregistered. What is wrong? Thanks.

public class MyPresenter extends
    PresenterWidget<ViewDiagramPresenter.MyView> {
    [...]

    @Override
    protected void onBind() {
        super.onBind();
        registerHandler(getEventBus().addHandler(myEvent.getType(), myHandler));
    }
}

解决方案

As I recall onUnBind() is not called when the Presenter is hidden, that would trigger the onHide() method. Specifically, I think the onUnBind() should be called manually - you could eg. chain it if you override onHide().

Hope that helps.

Cheers,

这篇关于GWTP:onUnbind()在关闭演示者之后从未调用过的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆