Android视图中的更改 - 按钮状态被重置

时间:2011-03-20 10:45:17

标签: java android user-interface button view

我有一个按钮,主要用于启动/停止。因此,最初按钮的文本设置为开始。我附加了一个OnClickListener。因此,无论何时点击它我都会更改其文本。因此,如果它开始它就会停止,反之亦然。

问题出现在我将手机视图从纵向更改为横向,反之亦然,按钮文本会重置。

所以例如我点击了开始按钮---它改为停止。现在,如果我倾斜手机以更改视图,按钮文本将设置为重新开始。

我是否以错误的方式使用按钮?

2 个答案:

答案 0 :(得分:1)

您应该保存按钮状态。当屏幕方向改变时,将调用onCreate并重新初始化所有应用程序变量。在这里阅读更多http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:0)

不,您正在以正确的方式使用该按钮。

您所看到的是“配置更改”。当您倾斜设备时,Android会重新创建您的活动并重新创建其所有视图(因此,他们会获得XML中描述的默认标题)。

你需要做

  • 禁用您的活动的配置更改。为此,请将以下内容添加到清单的活动代码中:android:configChanges="orientation|keyboardHidden"。如果你需要不同的横向和描绘方向布局,那么它是不合适的......
  • 通过覆盖您的Activity的onSaveInsatnceState方法来处理配置更改,在那里保存状态,然后在onCreate方法中使用它。

有关详细说明,请参阅this article