Android onActivityResult()并更改进程中的方向

Android onActivityResult()并更改进程中的方向,android,orientation-changes,onactivityresult,Android,Orientation Changes,Onactivityresult,我想和你们分享一些使我的应用程序崩溃的问题,我无法想象为什么它会通过,在我看来,它一定不会通过,没有意义 在ActivityResult和StartActivityForResult上实现的活动A基本上是Viewpager,具有2/3个视图,每个视图中都有一些组件 已实现setFinish和finish返回的活动B 这是一个过程: 开始活动A 从A开始活动B。 活动B的变更方向。 完成活动B并返回到活动A。 崩溃 我看到了stacktrace,崩溃发生在ActivityResult中,所有这些都

我想和你们分享一些使我的应用程序崩溃的问题,我无法想象为什么它会通过,在我看来,它一定不会通过,没有意义

在ActivityResult和StartActivityForResult上实现的活动A基本上是Viewpager,具有2/3个视图,每个视图中都有一些组件 已实现setFinish和finish返回的活动B 这是一个过程:

开始活动A 从A开始活动B。 活动B的变更方向。 完成活动B并返回到活动A。 崩溃 我看到了stacktrace,崩溃发生在ActivityResult中,所有这些都是可变的,比如ArrayList,UI组件ListView。。。我用过的,我看到,他们失去了他们的参考资料

我得到的错误类型是

NullPointerExpection int和ListView

CursorIndexOutOfBoundException ArrayList

此错误的标题:

java.lang.RuntimeException:传递结果ResultInfo失败

我必须说,如果没有任何方向的改变,没有问题,一切都好

我修复了这个问题,但是得到的代码你可以想象得到。我需要初始化所有我遇到的错误,包括对一些UI组件使用findViewById,这是非常昂贵的。我认为它主要是通过ViewPager传递的,因为它不会通过带有线性布局的简单XML传递,例如在活动a中。是否有人对此有类似的经验或解释


谢谢。

我一直认为,这种安卓系统破坏方向改变活动的架构是谷歌工程师可能想到的最愚蠢的事情。我是一个人吗?不,你不是。我不知道在iOS/Windows Phone中是否通过了相同的测试,但这类错误非常乏味,有点难以发现。