变量切换方向丢失

2024-01-10

我是安卓新手。我编写了几个程序并在手机上试用了它们。当我切换方向时,就像我的手机重新启动程序一样。我所有的变量都被重置。事实上,唯一没有重置的是编辑文本视图中的文本。这是什么原因造成的?我怎样才能阻止它?我尝试在谷歌和堆栈溢出上查看它,但我看到的只是如何一起改变视图方向。我什至尝试在一个程序中使用 get text 方法设置变量,但这不起作用。


当我切换方向时,就像我的手机重新启动程序一样。

准确地说,目前可见Activity被完全摧毁并重建。您的“应用程序”的其他组件可能会也可能不会受到影响。

这是什么原因造成的?我怎样才能阻止它?

这是设计使然,至于阻止它,您可能想也可能不想这样做。

正如已经提到的,可以指定您想要自己处理“配置”更改(例如方向),甚至只强制一个(例如横向或纵向)。

然而,在许多情况下,应用程序开发人员可能会选择根据设备是否处于一个方向或另一个方向来更改布局。某些布局在纵向上可能工作得很好,但在横向上则不然(反之亦然),并且设计方法的目的(破坏/重新创建当前可见的Activity)旨在适应这一点。

如果开发人员选择不自行处理配置更改或强制执行特定方向,则处理问题的正确方法是确保在“易失性”UI 元素(例如 EditTexts)中输入的所有数据都正确保存并在方向更改后重新创建。

要做到这一点,需要了解Activity生命周期至关重要,因为利用各种Activity在整个生命周期中调用来保存/恢复数据的方法。

必读...

运行时变化 http://developer.android.com/guide/topics/resources/runtime-changes.html

活动生命周期 http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

应用基础知识 http://developer.android.com/guide/topics/fundamentals.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

变量切换方向丢失 的相关文章

随机推荐