当我的应用中的活动方向发生变化时,UI保持不变,但存储的变量消失了。所以我不明白发生了什么,是一个只用gui配置开始的新活动,或者ui如何保留相同的值,但是像Booleans这样的变量和数组中的类被重置。以及如何在方向改变时保留变量值。
答案 0 :(得分:1)
Android定位处理非常有趣。更改方向后,活动将被销毁并重新创建:onDestroy()
和onCreate()
。
Google在这样的活动中保存对象和配置的文章很好: http://developer.android.com/guide/topics/resources/runtime-changes.html
答案 1 :(得分:0)
Android确实在任何配置更改时都会破坏Activity,UI,Fragments等;在这种情况下,方向改变。
正如Handling Runtime Changes解释的那样,有办法处理这种破坏和重建:保留碎片,捆绑,甚至覆盖和手动处理配置更改。
要保存变量的状态,您需要按照Recreating Activity
所述适应此更改除此之外,请查看Jim White的文章:Intertech Post by Jim White on Save and Restoring Instance State。因此,您看到的行为是您的本地变量等在配置更改期间被销毁并重新初始化/创建,但UI似乎保留其状态,而应用程序的其余部分则不然。他解释了如何保存/恢复实例状态,以及如果为元素指定了ID,则会自动保存和恢复UI。