Moxy: 如何将参数传递给Presenter?

4

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

2个回答

6
Moxy有一个特殊的注解@ProvidePresenter,可以通过自定义构造函数创建Presenter。这里有更多的信息示例。同时,我强烈建议不要将context传递给Presenter,因为这样可能会导致context泄漏。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接