【发布时间】:2016-02-21 01:59:50
【问题描述】:
我想订阅 POJO 服务中的事件(Activity 或 Fragment 之外)。我的用例很简单,在应用启动时,我想从 Internet 加载内容并在 GridView 中显示。 GridView 位于 Fragment 类中。在 Fragment 的 onResume 中,我发布了一个 Otto 事件并尝试在 POJO 服务中订阅:
片段类
@Override
public void onResume() {
super.onResume();
PopularMoviesApplication.getEventBus().register(this);
PopularMoviesApplication.getEventBus().post(produceDiscoverMovieEvent());
}
@Produce
public DiscoverMovieEvent produceDiscoverMovieEvent() {
return new DiscoverMovieEvent("popularity.desc");
}
DiscoverMovieServiceImpl 类
public class DiscoverMovieServiceImpl {
public DiscoverMovieServiceImpl() {
PopularMoviesApplication.getEventBus().register(this);
}
@Subscribe
public void getMovies(DiscoverMovieEvent event) {
...
}
永远不会调用 getMovies 方法。我究竟做错了什么?
【问题讨论】:
-
我没有看到任何发布 DiscoverMovieEvent 的代码。