Moxy:如何将Params传递给Presenter?

时间:2017-12-07 09:47:48

标签: android android-moxy

这里是我对MVP的实现:

public class OfferDetailsPdfActivity extends AppCompatActivity implements OnPageChangeListener, OfferDetailsPdfMvp.View {
  private PdfPresenterImpl presenter;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
        int offerId = 0;
        if (extras != null) {
            offerId = extras.getInt(Offer.ID);
        }
        presenter = PdfPresenterImpl.getInstance(this, offerId);
}

现在我想使用 Moxy

所以这里改变活动

public class OfferDetailsPdfActivity extends MvpAppCompatActivity implements OnPageChangeListener, OfferDetailsPdfMvp.View {
    @InjectPresenter
    PdfPresenterImpl presenter;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
        int offerId = 0;
        if (extras != null) {
            offerId = extras.getInt(Offer.ID);
    }
        // how pass parameter to presenter?
       // presenter = PdfPresenterImpl.getInstance(this, offerId);
}

但现在我如何将params (context, offerId)传递给Presenter?

2 个答案:

答案 0 :(得分:5)

Moxy对自定义构造函数生成Presenter有特殊注释AxesSubplot。还有更多infoexample。另外,我强烈建议不要将上下文传递给演示者。因为上下文可能会泄漏。

答案 1 :(得分:0)

@ProvidePresenter应该做到这一点。看看这个例子: https://github.com/Arello-Mobile/Moxy/wiki/Custom-Presenter-constuructor