gpt4 book ai didi

Android在方向更改时保存状态

转载 作者:IT老高 更新时间:2023-10-28 22:00:13 26 4
gpt4 key购买 nike

我有一个 Android 应用程序,它维护有关行进距离、耗时等的状态。当 Android 调用 onDestroy() 时,我可以方便地将这种状态存储在一个对象中,并将对该对象的引用存储在 Bundle 中更改屏幕方向,然后在 onCreate(Bundle savedBundle) 中恢复状态。但是,我在屏幕上的 Buttons 和 EditText 对象中也有一些状态,我想通过屏幕方向保持这些状态。例如,在 onStart(Bundle savedBundle) 我调用:

_timerButton.setBackgroundColor(Color.GREEN);
_pauseButton.setBackgroundColor(Color.YELLOW);
_pauseButton.setEnabled(false);

然后在我的应用程序的整个操作过程中,这些按钮的颜色/启用状态将被更改。是否有更方便的方法来保持用户界面项(EditText、Button 对象等)的状态,而无需手动保存/恢复每个按钮的每个属性?在屏幕方向之间手动管理这种类型的状态感觉真的很笨拙。

感谢您的帮助。

最佳答案

您是否尝试过使用:它的工作通过

<activity name= ".YourActivity" android:configChanges="orientation|screenSize"/>

在 list 文件中?

默认情况下它不起作用,因为当您更改方向时,将再次调用 onCreate 并重新绘制您的 View 。

如果你把这个参数写在 Activity 中不需要处理,框架会处理剩下的事情。如果方向改变,它将保留屏幕或布局的状态。

注意如果您对横向模式使用不同的布局,通过添加这些参数,横向模式的布局将不会被调用。

Other way Another way

关于Android在方向更改时保存状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32283853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com