gpt4 book ai didi

Android - 开始新 Activity 时保存 Activity 状态

转载 作者:行者123 更新时间:2023-11-29 16:25:04 25 4
gpt4 key购买 nike

我目前正在开发一个应具有以下行为的应用程序:在其中一项 Activity 中,用户可以将不同的项目选择到列表中。在这样做的同时,他应该能够拍照、保存并返回到之前的 Activity 。

我遇到以下问题:当用户在拍照后返回 Activity 时,进度(基本上是所选项目)丢失。

我尝试在我的 Activity 上使用 android:launchMode="singleInstance"(以及 singleTask)和 android:alwaysRetainTaskState="true"来保存它的当前状态(当用户离开应用程序做某事时它工作得很好否则,稍后再回来)。我试图用 FLAG_ACTIVITY_NEW_TASK 午餐 ACTION_IMAGE_CAPTURE Intent 来模拟相同的行为(在我看来,我认为这应该与从主屏幕午餐图片 Activity 一样),但没有效果。我什至尝试用 startActivityforResult 为图片 Activity 添加午餐,希望我的 Activity 不会以某种方式丢失,但仍然没有效果。

我知道我可以使用 Bundle savedInstanceState 通过覆盖 onPause、onResume、on Create(等)来手动保存和恢复状态,但实际上自定义组件中有很多数据不容易序列化,所以我会喜欢避免这种情况。

好吧,我想我的问题是如何重现与 alwaysRetainTaskState list 属性相同的行为?或者有没有办法轻松保存我的 Activity 状态?或者我做错了什么,错过了显而易见的事情?

非常感谢!

最佳答案

I know I could use the Bundle savedInstanceState to manually save and restore the state by overriding onPause, onResume, on Create (etc), but there is actually lots of data in custom components that are not easily serializable, so I'd like to avoid that.

您“喜欢”什么并不重要。无论如何,您都需要此代码来处理配置更改(例如,从纵向切换到横向)。请实现 onSaveInstanceState()onRestoreInstanceState(),然后撤销您在上一段中使用的所有其他不当技巧(例如,singleInstance, alwaysRetainTaskState).

关于Android - 开始新 Activity 时保存 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4873263/

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