0

mortar-sampleに基づいてアイテムのリストを表示する単純なアプリケーションにMortarを使用しようとしています。

Retrofit/Gsonを使用してこれらのアイテムのメタデータをフェッチし、Otto を使用してアイテムがダウンロードされたらビューに更新を配信します。オブジェクトの作成にも Dagger を使用しています。

リスト内のアイテムを表示するために実装するクラスと、実装するItemListクラスがあります。ListViewItemListScreenmortar.Blueprint

アダプタ アイテムを更新するサブスクライブ メソッドを配置するのに最適な場所はどこですか? 現在、私はそれを下に置いていItemListScreen.Presenterますが、サブスクライブメソッドは決して呼び出されません!!

@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 に答える