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

Ale*_*lex 4 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);
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用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);
}
Run Code Online (Sandbox Code Playgroud)

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

sen*_*eco 6

Moxy @ProvidePreseter通过自定义构造函数为make Presenter提供了特殊注释。有更多信息示例。另外,我强烈建议不要将上下文传递给演示者。因为这样,上下文可能会泄漏。