问题标签 [onrestoreinstancestate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
29 浏览

android - 片段中的 onRestoreInstance 状态为 Null

我有一个包含几个片段和一个主要活动的应用程序。我的片段设置为在主活动内的框架布局中显示内容。有点像视图寻呼机。

每个片段都包含一个列表视图。我将列表的内容存储在主活动中。

当应用程序暂停时,(当用户按下设备主页按钮时)我需要将应用程序的值保存在一个包中。出于某种原因,当用户恢复应用程序时,永远不会调用 onRestoreInstanceState()。结果,我没有得到变量的值。

有时,当用户尝试从单独的应用程序恢复时,应用程序会崩溃。这只发生在应用程序长时间处于后台或设备内存不足时。

我应该使用 onRestoreInstanceState() 还是其他东西?是否可以覆盖 onRestoreInstanceState() 并手动调用它?

0 投票
2 回答
240 浏览

android - 应用更新后 Activity 生命周期会发生什么变化?

假设这种情况。您有一个应用程序,您可以在其中填写一个活动的表格。该活动使用onRestoreInstanceStateonSaveInstanceState保存表单的响应。如果用户使用应用程序版本 1 填写表单,然后 PlayStore 在他完成之前自动将应用程序更新并安装到版本 2,那么表单是在哪个版本上填写的?

同样的问题,但假设用户强制更新?

谢谢

0 投票
2 回答
595 浏览

android - 恢复微调器及其适配器的状态

我在尝试在我的应用程序中恢复 Android Spinner 的状态时遇到问题。目前,我的 Activity 的 ListView 标头中有多个 Spinner,它们相互依赖,因为选择一个 Spinner 会为后续 Spinner 加载数据。

我遇到的问题是,当我在 Spinners 上手动设置选择时,恢复状态似乎不起作用。我已经尝试过 onRestoreInstanceState 和 onResume。在查看 LogCat 输出时,似乎设置选择是异步的。当我必须等待一个被选中然后另一个可以填充然后设置时,如何可靠地恢复这些 Spinner 的状态?

编辑:添加代码

Activity 的 onCreate():

Activity的onRestoreInstanceState():

0 投票
2 回答
1201 浏览

android - 如何使用 onSaveInstanceState 和 onRestoreInstanceState 防止丢失复选框和单选按钮选择

我在保存单选按钮和复选框的检查状态时遇到问题。如何使用 onSaveInstanceState 和 onRestoreInstanceState 保存这些元素的检查状态?

这是一个简单的测验应用程序。单击完成按钮后,会打开一个新的评分表,正确答案会变为绿色。但同时,当方向改变时,用户的选择会丢失。

这是代码:

0 投票
1 回答
1150 浏览

java - 在方向改变后保持 CountDownTimer 运行

我制作了一个完美运行的 CountDownTimer - 您可以获得正确的时间来软/中/硬煮鸡蛋。我的问题是定时器在方向改变后重置。我已经用谷歌搜索并尝试了很多解决方案,但我仍然不明白如何正确使用 onSave 和 onRestore。这是我的代码:

有小费吗?

0 投票
2 回答
56 浏览

android - 发送数组列表捆绑之间

问题:
如何将数据传输到_selectednumber_pointsonSaveInstanceStateonRestoreInstanceState

0 投票
0 回答
367 浏览

android - Android Espresso 测试保存和恢复实例状态

我尝试在 Espresso 中测试 Activity 的实例状态保存和恢复。

如何测试全生命周期?How to test save and restore state of an android activity with Espresso 中的建议 ? 已经有帮助了,但是我们如何测试 Parcelable 的writeToParcel / createFromParcel东西呢?(意味着当 InstanceState 不仅被保存和恢复,而且在两者之间进行序列化时,如果代码不起作用,这会导致这个很好的“Unmarshalling unknown type code”异常)

使用测试支持库测试规则销毁并重新启动 Activity 不会保留实例状态。

我尝试了一些getInstrumentation().callActivityOnSaveInstanceState(oldActivity, stateBundle);但没有成功。

任何想法?

0 投票
1 回答
69 浏览

java - 尝试使用 onRestoreInstanceState 设置播放器回合时 Android 空指针异常

我正在做一个简单的多人 socket.io 井字游戏。到目前为止,一切正常,但是,当我尝试旋转屏幕时,出现空指针异常错误。我有两种覆盖方法来保存和恢复我的玩家回合的布尔值。

当我尝试像这样直接设置值时,player1.setMyTurn(savedInstanceState.getBoolean("playerTurn"))它给了我一个空指针异常。

有谁知道为什么?

错误:

0 投票
0 回答
348 浏览

android - onRestoreInstanceState 从不调用动态创建的自定义视图

我对 Android 很陌生(来自 iOS 背景)。我创建了一个自定义/复合视图,它只是合并标语中的五个按钮:

在继承自 LinearLayout 的 Kotlin 文件中,我实现了:

麻烦的是,如果我动态地创建和插入它,那么 onRestoreInstanceState() 永远不会被调用,所以当屏幕方向改变时我无法恢复该值。如果我手动将此自定义视图插入到 XML 文件中的我的活动中,则调用该函数并且它按应有的方式工作。

一旦我使用 View.generateViewId() 创建它们,我就会为每个视图分配一个 ID,因此它们都有唯一的 ID。我真的很茫然,没有运气找到关于保存状态的例子,除了这个之外,动态添加的视图,但它说为了完成这项工作,我需要手动重新分配视图的 ID他们以前举行过。

我不确定如何在不保存每个动态创建的视图、其状态和 ID,然后在 onCreate 中再次手动构建它们的情况下实现这一点……在这种情况下,onRestoreInstanceState() 的意义何在。

0 投票
1 回答
1104 浏览

android - 在哪里使用 onSaveInstanceState 和 onRestoreInstanceState 方法?

这是一个概念问题。对不起,如果这是一个简单的问题,我几天前开始学习Android。

当用户退出活动时,我试图保存 recyclerview 的状态。我读了一些关于这个的文章。

在这篇文章https://panavtec.me/retain-restore-recycler-view-scroll-position方法是:

在另一篇文章RecyclerView 在活动之间存储/恢复状态的方法是:

这两篇文章假装回答同一个问题,如何恢复一个recyclerview的状态。


问题:

1 - 第一篇文章在 layoutManager 上实现了这些方法!?所以,我使用的是默认的 GridLayoutManager,所以要在 GridLayoutManager 中实现保存和恢复实例,我应该创建自己的类来扩展默认类吗?

2 - 我可以在布局管理器中实现这些方法,而不管在活动中实现它们吗?

3 - 实施这些方法的正确位置在哪里?还是这个问题有官方答案:“如何恢复recyclerview的状态?”

我正在寻找对这三个问题的意见,而不是完整的实施。