如何在mvp4g中使用eventBus.removeHandler?

时间:2015-05-15 13:22:11

标签: gwt mvp4g

我希望在触发事件之前删除/清除演示者的所有实例。文档说使用eventBus.removeHandler(handler),我不知道如何从演示者类中获取处理程序对象

Presenter设置了 multiple = true 属性。

1 个答案:

答案 0 :(得分:0)

如果您使用"多个=" true"

宣布了一位演示者
@Presenter(view=OneView.class, multiple=true)
public class OnePresenter extends BasePresenter<IOneView, OneEventBus>{...}

通过调用:

将演示者添加到eventbus
OnePresenter presenter = eventBus.addHandler(OnePresenter.class);

并通过调用

删除演示者
eventBus.removeHandler(presenter);

您可以在这里找到文档:

https://github.com/FrankHossfeld/mvp4g/wiki/04.-Defining-presenters,-views-&-Services#multiple-presenter

在mvp4g中,由于@Event注释的activate / deactivate属性,您可以轻松激活和停用演示者。 (https://github.com/FrankHossfeld/mvp4g/wiki/03.-Defining-EventBus#activatingdeactivating-presenters

如果您需要在演示者处理事件之前获取控件,则可以覆盖onBeforeEvent - 方法。 (https://github.com/FrankHossfeld/mvp4g/wiki/04.-Defining-presenters,-views-&-Services#on-before-event