我会尽力解释我的问题。
在我搜索在哪里注册/取消注册我的 ContentObserver 时,我看到多个答案说它应该在 onResume / onPause 或 onStart / onStop 但不在 onCreate / onDestroy 中。假设我在 onStart / onStop 中注册/取消注册,以确保我的视图仍然使用新数据进行更新,我获取数据然后在注册 ContentObserver 之前在 onStart 方法中刷新我的视图。
一切正常,直到... SharedElement 与 Material Design 过渡。
因为Imagine Activity A 注册到Data-A 并在onStart 中刷新数据所以View。当用户触摸一个项目时,它会对这个项目的细节运行一个 SharedElement 动画:Activity B with Data-A[n]
问题是当我从活动 B 回到活动 A 时,由于数据的刷新,我的列表中的原始项目不再存在,并且我的动画没有所需的行为。
你对此有什么想法吗?