0

我正在尝试将Mortar用于一个简单的应用程序,该应用程序显示了基于迫击炮样本的项目列表。

我正在使用Retrofit/Gson来获取这些项目的元数据,并在项目下载后使用 Otto 向视图提供更新。我也在使用 Dagger 来创建对象。

我有一个ItemList实现ListView显示列表中项目的类,以及一个ItemListScreen实现mortar.Blueprint.

我想知道将更新适配器项目的订阅方法放在哪里的最佳位置?目前,我将它放在下面,ItemListScreen.Presenter但从未调用过 subscribe 方法!

@Layout(R.layout.item_list_view)
public class ItemListScreen implements Blueprint {
    ...

    @Singleton
    public static class Presenter extends ViewPresenter<ItemListView> {
        ...

        @Subscribe
        public void onEvent(Event event){
            ItemListView view = getView();
            if(view == null) return;
            view.showItems(event.items);
        }
    }
}
4

1 回答 1

1

你没有让你的主持人跳上公共汽车。

bus.register(this);

可能希望将其放在 onLoad 方法中,然后在不再显示视图时取消注册。

于 2014-10-27T14:49:29.283 回答