onActivityResult()并在流程中更改方向

时间:2014-03-08 22:36:16

标签: android orientation-changes onactivityresult

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

  • 活动A(已经实现了onActivityResult()和startActivityforResult(),基本上是Viewpager,其中包含2/3个视图,每个视图中包含一些组件)
  • 活动B(已实施setFinish()和finish()返回)

这是一个过程:

  1. 开始活动A
  2. 从A。
  3. 开始活动B.
  4. 改变活动B的方向。
  5. 活动B的完成()并返回活动A.
  6. 崩溃。
  7. 我看到了堆栈跟踪,崩溃在onActivityResult内部,而且我使用过的所有变量(int,ArrayList,UI组件,如ListView,......),正如我所看到的,他们丢失了引用。

    我得到的错误类型是

      

    “NullPointerExpection”(int和ListView)

         

    “CursorIndexOutOfBoundException”(ArrayList)

    标题此错误:

      

    java.lang.RuntimeException:传递结果ResultInfo

    失败

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

    我解决了问题但你能想象的结果代码。我需要初始化我遇到的所有错误,包括对某些UI组件使用findViewById(),这样做非常昂贵。我认为它主要是由ViewPager提供的,因为它没有在活动A中传递一个简单的XML(例如LinearLayout)。任何人都有类似的经历或任何解释吗?

    感谢。

0 个答案:

没有答案