Android 在重新进入第一个活动之前更新共享元素

Android 在重新进入第一个活动之前更新共享元素,android,android-recyclerview,shared-element-transition,Android,Android Recyclerview,Shared Element Transition,我在两个活动之间有一个共享元素,它工作正常,Activitya是主元素(包含RecyclerView),而ActivityB是细节元素。有时我需要在详细模式下更改数据,我想在重新进入转换之前将此更改应用于活动A,但在更改并通知适配器后,当我按下back应用程序崩溃时,我使用LocalBroadcastManager来反映更改,这是崩溃日志: java.lang.NullPointerException: Attempt to invoke virtual method 'void android

我在两个活动之间有一个共享元素,它工作正常,
Activity
a是主元素(包含
RecyclerView
),而
Activity
B是细节元素。有时我需要在详细模式下更改数据,我想在重新进入转换之前将此更改应用于
活动
A,但在更改并通知
适配器
后,当我按下back应用程序崩溃时,我使用
LocalBroadcastManager
来反映更改,这是崩溃日志:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.ViewGroup.transformMatrixToGlobal(android.graphics.Matrix)' on a null object reference
                                                                        at android.view.GhostView.calculateMatrix(GhostView.java:95)
                                                                        at android.app.ActivityTransitionCoordinator$GhostViewListeners.onPreDraw(ActivityTransitionCoordinator.java:951)
                                                                        at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
                                                                        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2435)
                                                                        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1343)
                                                                        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6853)
                                                                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:825)
                                                                        at android.view.Choreographer.doCallbacks(Choreographer.java:619)
                                                                        at android.view.Choreographer.doFrame(Choreographer.java:579)
                                                                        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:811)
                                                                        at android.os.Handler.handleCallback(Handler.java:815)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:104)
                                                                        at android.os.Looper.loop(Looper.java:214)
                                                                        at android.app.ActivityThread.main(ActivityThread.java:6102)
                                                                        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:1028)
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
活动A(我在其中更新我的UI)

@Override
public void onReceive(Context context, Intent intent) {
            int index = intent.getIntExtra(Constants.EXTRA_ORDER_INDEX, -1);
            if (index != -1) {
                Order order = intent.getParcelableExtra(Constants.EXTRA_ORDER);
                if (order != null) {
                    OrderItem orderItem =
                            (OrderItem) mItemsAdapter.getAdapterItems().get(index);
                    orderItem.setOrder(order);
                    mItemsAdapter.notifyItemChanged(index);
                }
            }
        }
我尝试过但没有成功的地方:
1.我在
RecyclerView

2.在恢复时通知我的适配器,但在转换后应用了更改。
3.调用了
setLayoutFrozed
,结果与#2相同

注意:我需要在重新进入转换前应用更改,我不想在转换后更新UI。
这是正确的方法吗?知道我遗漏了什么吗?
如果你需要更多的细节来帮助我,请让我知道,谢谢