2017-02-12 2 views
0

Я установил Moxy в свой проект и задал аннотации в соответствии с документами. Но, когда я запустить приложение, он падает с:NullPointerException в (MVP) Moxy getViewState()

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; 
     ... 
} 

Это i S кода, где он выходит из строя:

@InjectViewState 
public class SplashPresenter extends MvpPresenter<SplashView> { 

    SplashModel mModel = new SplashModel(); 

    ... 

    public void checkLoggedInAndNavigate() { 

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

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

Что случилось с этим?

+0

Привет, вы можете попробовать заменить «предоставленный» com.arello-mobile: moxy-compiler: 1.3.3'' на 'annotationProcessor 'com.arello-mobile: moxy-compiler: 1.3.3''. Кроме того, я рекомендую использовать последнюю версию Moxy (теперь это 1.4.5) и отключить гнездо. – senneco

+0

Привет! Что я открываю ту же тему на GitHub :). Спасибо за помощь! Добавьте ответ, пожалуйста, чтобы я мог выбрать его как лучший. – Koroqe

+0

Извлеките его как ответ =) – senneco

ответ

1

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

Смежные вопросы