当我将方向纵向更改为横向时,将在Android中重新启动功能

时间:2016-06-14 14:41:48

标签: java android

当我将方向纵向更改为横向(或园林设置为纵向)时,将重新启动功能。我希望该功能保存在Android中。我正在制作一个计算器。我不希望在单击数字按钮之前启用操作员按钮。所以我创建了一个功能,可以在单击数字按钮后单击操作员按钮。但是,当我单击要计算的数字,然后更改方向时,操作员按钮不会启用。它应该是启用。 我的意思是,点击次数 - >操作员点击 - >数字点击 - >等于按钮点击 - >结果显示,这没关系。但数字点击 - >改变方向 - >操作员按钮未启用....这是我的代码

image of code

2 个答案:

答案 0 :(得分:0)

您有两种选择:

  • 转到清单文件并将活动的方向设置为 无论是风景还是肖像。
  • 保存您的活动在捆绑中保存的某些状态。在OnCreate中,您要做的第一件事就是检查bundle是否为null(这将是第一次)。如果不是,则读取该包(它与您保存的相同)并重置您保存的所有状态。每次在OnCreate结束时保存包含当前状态信息的包。这应该可以解决您重置状态的问题,也可以让您旋转设备。

这是一个广为人知的概念,您可能应该在发布问题之前广泛使用搜索引擎。谷歌是你的朋友。 :)

答案 1 :(得分:0)

当您更改设备的方向时,您的活动将被销毁并重新创建。因此您必须使用 onSaveInstanceState()保存状态 在活动被销毁之前恢复活动 此外,如果您想要禁用方向更改而不是简单地在您的Manifest中设置android:screenOrientation="portrait。阅读this以了解如何在Android中处理运行时更改。