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

发布于 2024-10-23 22:27:05 字数 232 浏览 2 评论 0原文

我有一个基本上用于启动/停止的按钮。因此最初按钮的文本设置为启动。我给它附加了一个 OnClickListener。因此,每当单击它时,我都会更改其文本。因此,如果它是开始,它就会停止,反之亦然。

当我将手机视图从纵向更改为横向或反之亦然时,问题就出现了,按钮文本被重置。

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

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

I have a button which is basically used for start/stop. So initially the text of the button is set to start. I attached a OnClickListener to it. So whenever it gets clicked i change its text. So if it was start it become stop and vice-versa.

The problem comes when i change my phone view from portrait to landscape or vice-versa the button text gets reset.

So for example I clicked the start button---it changed to stop. Now if I tilt my phone to change the view the button text gets set to start again.

Am I using the button in a wrong way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

墟烟 2024-10-30 22:27:05

您应该保存按钮状态。当屏幕方向发生变化时,onCreate 会被调用,所有应用程序变量都会重新初始化。在此处阅读更多信息 http://developer.android.com/reference/android/app/ Activity.html

You should save your button state. When screen orientation changes, onCreate is called and all your app variables are re-intitialized. Read more here http://developer.android.com/reference/android/app/Activity.html

扮仙女 2024-10-30 22:27:05

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

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

您需要

  • 对您的活动进行禁用配置更改。为此,请将以下内容添加到清单的活动标记中:android:configChanges="orientation|keyboardHidden"。如果您有不同的横向和纵向布局,当您需要...
  • 通过覆盖 onSaveInsatnceState 方法,保存状态,然后在 onCreate 方法。

有关进一步说明,请参阅本文

No, you are using the button in the right way.

The thing what you are seeing is "configuration change". When you are tilting your device, Android recreating your activity and recreating all it's views (so, they getting default captions as them described in XML).

You need to do the

  • disable configuration changes for your Activity. To do so, add the following to your manifest's activity tag: android:configChanges="orientation|keyboardHidden". It is not suitable, if you have different layouts for landscape and portraint orientations, when you need to...
  • handle the configuration changes by overriding onSaveInsatnceState method of your Activity, save a state there and then use it in onCreate method.

See this article for further explanation

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文