Custom Presenter constuructor - moxy-community/Moxy GitHub Wiki
DetailsActivity.java:
public class DetailsActivity extends MvpAppCompatActivity implements DetailsView {
@InjectPresenter
DetailsPresenter mDetailsPresenter;
@ProvidePresenter
DetailsPresenter provideDetailsPresenter() {
return new DetailsPresenter(getIntent().getLongExtra("extraDetailsId", 0));
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_details);
}
@Override
public void showDetails(String details) {
Log.i(DetailsActivity.class.getSimpleName(), details);
}
}
DetailsPresenter.java:
@InjectViewState
public class DetailsPresenter extends MvpPresenter<DetailsView> {
public DetailsPresenter(long newsId) {
loadNews(newsId);
}
private void loadNews(long newsId) {
getViewState().showDetails("Details of \"" + newsId + "\"");
}
}
DetailsView.java:
public interface DetailsView extends MvpView {
void showDetails(String details);
}