【问题标题】:Moxy: How pass params to Presenter?Moxy:如何将参数传递给 Presenter?
【发布时间】:2017-12-07 09:47:48
【问题描述】:

这是我的 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。

所以这里改变 Activity

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);
}

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

【问题讨论】:

    标签: android android-moxy


    【解决方案1】:

    Moxy 有特殊注解@ProvidePreseter 用于通过自定义构造函数制作 Presenter。还有更多info 和example。另外,我强烈建议不要将上下文传递给演示者。因为那样的话上下文可能会泄漏。

    【讨论】:

      【解决方案2】:

      @ProvidePresenter 应该可以解决问题。查看示例: https://github.com/Arello-Mobile/Moxy/wiki/Custom-Presenter-constuructor

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-02
        • 2020-10-09
        • 2012-12-21
        • 2012-01-07
        • 2014-05-03
        • 2015-06-26
        • 2012-01-18
        相关资源
        最近更新 更多