gpt4 book ai didi

java - Non-Presenter 类上的 GWTP EventBus

转载 作者:行者123 更新时间:2023-11-30 10:54:39 24 4
gpt4 key购买 nike

在我的 GWTP 应用程序中,我有一个简单的 Java 类,它不是 Presenter,它只是一个类。在这个类中,我需要触发一个将从 Presenter 类监听的事件。

GWTP 在演示者之间共享一个 EventBus。问题是我需要在此 EventBus 中从外部类触发事件,以便演示者能够收听它。

我做了研究,到目前为止我还没有遇到与这个外部类共享 GWTP 的 EventBus 的方法(除了从任何随机演示者内部,这是不正确的)。

正如我在这里看到的,注入(inject)的方法不起作用。有什么想法吗?

如果需要,我会分享一些代码。谢谢!

这是我的类(class):

public class MyClass {

private static MyClass INSTANCE;

public static MyClass singleton() {

if (INSTANCE == null) {
INSTANCE = new MyClass();
}
return INSTANCE;
}

private MyClass() {
}
}

@Inject EventBus eventBus

不起作用。当我调用 eventBus.fireEvent() 时,eventBus 是未定义

最佳答案

您应该重写您的类,并使用 Gin 将 MyClass 绑定(bind)为带有 bind(MyClass.class).in(Singleton.class) 的 Singleton,然后在您需要的地方注入(inject) MyClass。您的 MyClass 类可能如下所示:

public class MyClass {
@Inject
MyClass(EventBus eventBus) {
this.eventBus = eventBus;
}
}

如果你真的想做你自己的单例,那么你也可以使用 Gin 模块的静态注入(inject):requestStaticInjection(MyClass.class)

public class MyClass {
@Inject
private static EventBus eventBus;
private static MyClass INSTANCE;

public static MyClass singleton() {
if (INSTANCE == null) {
INSTANCE = new MyClass();
}
return INSTANCE;
}

private MyClass() {
}
}

关于java - Non-Presenter 类上的 GWTP EventBus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33571913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com