2017-02-12 11 views
0

プロジェクトにMoxyをインストールし、ドキュメントに従ってアノテーションを設定しました。私はアプリを起動したときにしかし、それはでクラッシュ:(MVP)MoxyのgetViewState()内のNullPointerException

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' 
} 

は、Viewインタフェースです:

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

@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を無効にすることをお勧めします。

関連する問題