0

I am trying to change from one screen to another after a user has signed up. The user is created but I get a java.lang.NullPointerException when I call the view interface from the presenter. Here is the part in the presenter that creates the user and prompts the change to a login screen.

public void signUp() {
        postUserUseCase.setWyat_user(user);

    subscription = postUserUseCase
            .execute()
            .subscribeOn(rx.schedulers.Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Subscriber<User>() {
                @Override
                public void onCompleted() {
                    Log.d("complete","complete");
                    signUpView.showLoginScreen();


                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onNext(User user) {
                    Log.d("next",user.getEmail());

                }
            });
}

SignupActivity implements the view interface's showLoginScreen method.

  public class SignUpActivity extends AppCompatActivity implements SignUpView {

  @Override
    public void showLoginScreen() {
    Intent loginIntent = new Intent(this,LoginActivity.class);
    startActivity(loginIntent);

}

}

The user is created but I get a null pointer onCompleted.

EDIT: This is different from What is a NullPointerException, and how do I fix it? because if I did the initializing of an interface I get a whole class with the methods that my activity will override. This is a view interface not a variable or a class.I just want to call on method.

EDIT 2: Logcat for the error.

01-14 14:41:49.359 28309-28309/com.wyat.wyat E/AndroidRuntime: FATAL EXCEPTION: main java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread. at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:62) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4517) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:995) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762) at dalvik.system.NativeStart.main(Native Method) Caused by: rx.exceptions.OnCompletedFailedException at rx.observers.SafeSubscriber.onCompleted(SafeSubscriber.java:90) at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.checkTerminated(OperatorObserveOn.java:272) at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.call(OperatorObserveOn.java:207) at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) at android.os.Handler.handleCallback(Handler.java:605)  at android.os.Handler.dispatchMessage(Handler.java:92)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4517)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:995)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)  at dalvik.system.NativeStart.main(Native Method)  Caused by: java.lang.NullPointerException at com.wyat.wyat.accounts.presenters.SignUpPresenter$1.onCompleted(SignUpPresenter.java:92) at rx.observers.SafeSubscriber.onCompleted(SafeSubscriber.java:84) at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.checkTerminated(OperatorObserveOn.java:272)  at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.call(OperatorObserveOn.java:207)  at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)  at android.os.Handler.handleCallback(Handler.java:605)  at android.os.Handler.dispatchMessage(Handler.java:92)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4517)  at java.lang.reflect.Method.invokeNative(Native Method)

Community
  • 1
  • 1
zacmwa
  • 578
  • 10
  • 28

0 Answers0