Zso*_*agy 7 android android-fragments
这是导致问题的场景:
片段A抛出此异常,因为我在其onSaveInstanceState()方法中保存了一些视图值(例如EditTexts).看来,在第二次旋转时,系统不会实例化这些视图,所以当我询问它们的值时,我会得到一个NullPointer异常.这可以以某种方式避免吗?或者是在片段交易中使用.replace操作保存在backstack上?
我已经遇到过这个问题,但不太记得我所做的修复的具体细节,但一般来说(并对大脑转储表示歉意)我会执行以下操作:
致电以避免片段重新setRetainInstance(true)创建onCreate
保存编辑控件等的状态,以便onSaveInstanceState在活动被终止时使用,并且您使用非空捆绑包进行恢复(您不应该在方向更改为 1 时获得非空捆绑包。)
维护成员变量中的编辑控制值(因为片段不会被重新创建),确保它们在onDestroyView编辑控件中得到更新,然后使用它们来恢复编辑控件值onCreateView
有一个标志,我将其设置为 trueonCreateView和 false onDestroyView,并确保当视图不在周围时我不会触摸 UI 控件。
replace顺便说一句,在将事务添加到后台堆栈时使用是完全可以的。
希望里面有什么可以帮助的。彼得.
| 归档时间: | 
 | 
| 查看次数: | 2535 次 | 
| 最近记录: |