34

I'm using Activity transitions from a ViewPager (in the calling activity) with a shared element and content transitions as well. I'm getting this crash when re-entering to the calling activity:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.os.ResultReceiver.send(int, android.os.Bundle)' on a null object reference
  at android.app.EnterTransitionCoordinator.sendSharedElementDestination(EnterTransitionCoordinator.java:199)
  at android.app.EnterTransitionCoordinator.viewsReady(EnterTransitionCoordinator.java:123)
  at android.app.EnterTransitionCoordinator$2.onPreDraw(EnterTransitionCoordinator.java:148)
  at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:895)
  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2153)
  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1180)
  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6558)
  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
  at android.view.Choreographer.doCallbacks(Choreographer.java:590)
  at android.view.Choreographer.doFrame(Choreographer.java:560)
  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
  at android.os.Handler.handleCallback(Handler.java:739)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:145)
  at android.app.ActivityThread.main(ActivityThread.java:5832)
  at java.lang.reflect.Method.invoke(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)

Also, Once going back, the screen begins to flicker continuously with a white screen flashing in and out.

Here are my Transition flags:

<item name="android:windowContentTransitions">true</item>
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowAllowReturnTransitionOverlap">false</item>

I tried setting Enter/Exit transitions both on the Calling and Called activity but no luck.

8
  • Wow, that's a new one. Ideally, you'd file a bug on this with an app that can reproduce it. It appears the the exiting activity set the ResultReceiver to null somehow. If you can't solve this in any other way, you can use finish() instead of finishAfterTransition() to avoid the activity transition, but it is quite strange. Is it possible that the exiting activity is being killed as the reentering activity is being launched? Dec 11, 2015 at 3:10
  • @GeorgeMount don't think so. If A is the calling activity and B is the called activity then my logs when entering B are as follows: A: onPause B: onCreate B: onStart B: onResume B: onSaveInstanceState A: onStop
    – OferM
    Dec 13, 2015 at 8:05
  • And then when re-entering it should ideally be: A: onStart (crash is here) B: onPause A: onResume B: onStop B: onDestroy
    – OferM
    Dec 13, 2015 at 9:06
  • I've also noticed that the re-enter transition works for the first 2 fragments in the ViewPager and crashes consistently for the rest of the items. The ViewPager always holds the same fragment, so it's not a specific fragment issue.
    – OferM
    Dec 13, 2015 at 9:31
  • 1
    Noticed same issue occurring sometimes in my app when transitioning back from detail screen to collection screen having viewpager and both the screens have shared imageview showing transition animation.
    – Ankur
    Dec 30, 2015 at 9:12

1 Answer 1

0

Try to get fragment from FragmentManager:

fragmentManager.findFragmentByTag("android:switcher:" + R.id.viewPager + ":" + position)

If fragment is null, try creating a new fragment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.