Skip to content

NullPointerException in ViewDelegates #46

Description

@Nocri

In a legacy project using EasyMVP have a @CustomView extending LinearLayout and for some reason it throws NPE in attachView (everything extends AppCompatActivity, so it's not related to #34) and in PresenterLoaderCallbacks.onLoaderReset

Is this project still alive? Could You provide me some help with that?
It's using version 1.0.5 of easyMVP

The app returns to screen containing this custom view after opening another activity for result (it might be some hint)

Custom view presenter:

It has actually one method doin thing specific for our model, so i'll hide that one for readability, but the body of presenter:

public class AddressPresenter extends BasePresenter<AddressView> {

    public AddressPresenter() {
    }

    public void geocode(Context context, double lat, double lng) {
        // RxJava stuff
    }

}

Custom view:

As above, just the body, to keep it clean:

@CustomView(presenter = AddressPresenter.class)
public class AddressForm extends LinearLayout implements AddressView {

}

Attach view NPE

Line of code causing crash:

    presenter.onViewAttached((AddressView)view);

Sony Xperia Z5 Compact (E5823), 2048MB RAM, Android 7.1

java.lang.RuntimeException:

  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2720)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2781)
  at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:4615)
  at android.app.ActivityThread.-wrap19 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1514)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:241)
  at android.app.ActivityThread.main (ActivityThread.java:6274)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:886)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776)

Caused by: java.lang.NullPointerException:

  at xx.xx.mobile.ui.widget.address.AddressForm_ViewDelegate.attachView (AddressForm_ViewDelegate.java:33)
  at xx.xx.mobile.ui.widget.address.AddressForm.onAttachedToWindow (AddressForm.java)
  at android.view.View.dispatchAttachedToWindow (View.java:15561)
  at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2916)
  at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
  at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
  at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
  at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
  at android.view.ViewGroup.addViewInner (ViewGroup.java:4456)
  at android.view.ViewGroup.addView (ViewGroup.java:4258)
  at android.view.ViewGroup.addView (ViewGroup.java:4198)
  at android.view.ViewGroup.addView (ViewGroup.java:4171)
  at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1309)
  at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1528)
  at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1595)
  at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated (FragmentManager.java:2900)
  at android.support.v4.app.FragmentController.dispatchActivityCreated (FragmentController.java:201)
  at android.support.v4.app.FragmentActivity.onStart (FragmentActivity.java:603)
  at android.support.v7.app.AppCompatActivity.onStart (AppCompatActivity.java:178)
  at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1249)
  at android.app.Activity.performStart (Activity.java:6737)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2683)

onLoaderReset NPE

Line of code causing crash:

      delegate.get().detachView();

Samsung Galaxy S7 Edge (hero2lte), 4096MB RAM, Android 8.0

java.lang.RuntimeException:

  at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:4605)
  at android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:4623)
  at android.app.ActivityThread.-wrap5 (Unknown Source)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1757)
  at android.os.Handler.dispatchMessage (Handler.java:105)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6944)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)

Caused by: java.lang.NullPointerException:

  at xx.xx.mobile.ui.widget.address.AddressForm_ViewDelegate$PresenterLoaderCallbacks.onLoaderReset (AddressForm_ViewDelegate.java:96)
  at android.support.v4.app.LoaderManagerImpl$LoaderInfo.destroy (LoaderManager.java:357)
  at android.support.v4.app.LoaderManagerImpl.doDestroy (LoaderManager.java:832)
  at android.support.v4.app.FragmentHostCallback.doLoaderDestroy (FragmentHostCallback.java:285)
  at android.support.v4.app.FragmentController.doLoaderDestroy (FragmentController.java:420)
  at android.support.v4.app.FragmentActivity.onDestroy (FragmentActivity.java:391)
  at android.support.v7.app.AppCompatActivity.onDestroy (AppCompatActivity.java:209)
  at android.app.Activity.performDestroy (Activity.java:7470)
  at android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1255)
  at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:4592)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions