NullPointerException в (MVP) getViewState() Moxy

Я установил Moxy в свой проект и установил аннотации в соответствии с документами. Но когда я запускаю приложение, оно падает с:

FATAL EXCEPTION: main
                                                                      Process: com.example.project, PID: 709
                                                                      java.lang.NullPointerException
                                                                          at com.example.project.presentation.presenter.splash.SplashPresenter.checkLoggedInAndNavigate(SplashPresenter.java:35)

Зависимости в build.gradle:

    ...
    // Moxy
    compile 'com.arello-mobile:moxy:1.3.3'
    provided 'com.arello-mobile:moxy-compiler:1.3.3'
    compile 'com.arello-mobile:moxy-app-compat:1.3.3'
}

Вот интерфейс просмотра:

    public interface SplashView extends MvpView {

    void navigateToMainScreen();

    void navigateToLoginScreen();
}

Вот действие, которое реализует эту точку зрения:

     public class SplashActivity extends MvpAppCompatActivity implements SplashView {

        public static final String TAG = "SplashActivity";

        @InjectPresenter
        SplashPresenter mSplashPresenter;
        ...
}

Это код, где он падает:

@InjectViewState
public class SplashPresenter extends MvpPresenter<SplashView> {

    SplashModel mModel = new SplashModel();

    ...

    public void checkLoggedInAndNavigate() {

        if (checkLoggedIn()) {
            getViewState().navigateToMainScreen();
        } else {
            getViewState().navigateToLoginScreen();
        }
    }
}

Когда он пытается получить ViewState (который автоматически создается аннотацией), он генерирует исключение

Что в этом плохого?

1 ответ

Решение

Вы можете попробовать заменить provided 'com.arello-mobile:moxy-compiler:1.3.3' в annotationProcessor 'com.arello-mobile:moxy-compiler:1.3.3', Также я рекомендую использовать последнюю версию Moxy (сейчас это 1.4.5) и отключить jack,

Другие вопросы по тегам