Skip to content
Yuri Shmakov edited this page Mar 20, 2017 · 20 revisions

Problem
Presenter.getViewState() always is null.

Solution
Check your Presenter is annotated with @InjectViewState. If you don't want this annotation, then set ViewState manually using MvpPresenter<View extends MvpView>.setViewState(MvpViewState<View>).


Problem
Presenter annotated @InjectPresenter is always null.

Solution

  • Check Presenter has public default constructor
  • Check Annotation Processor is enabled
  • Check class, that contains it's field, calls MvpDelegate methods. MvpDelegate.onCreate(Bundle) is required for presenter injection. (Or it can be inherited from MvpFragment or MvpActivity)

Problem
Executing gradlew assembleDebug will fail if android-apt version is 1.8 (most recent for now)

Solution
android-apt 1.8 needs in JDK 1.8. You can tell gradlew to use specific version of JDK by setting it up in gradle.properties or by adding parameter to the terminal command like: gradlew -Dorg.gradle.java.home="path_to_jdk_home" assembleDebug


Problem
Gradle log warning: Warning:Ignoring Android API artifact com.google.android:android:4.0.1.2 for debug

Solution
Exclude com.google.android from dependency:

compile ('com.arello-mobile:moxy:0.5.4'){
    exclude group: 'com.google.android'
}
compile ('com.arello-mobile:moxy-android:0.5.4'){
    exclude group: 'com.google.android'
}
apt 'com.arello-mobile:moxy-compiler:0.5.4'

Problem
Need to use @InjectPresenter inside ViewHolder of RecyclerView

Solution
See these gist