问题标签 [onsaveinstancestate]

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 投票
2 回答
307 浏览

android - 重新创建传递硬编码空实例状态的活动

我正在制作一个益智游戏,每次用户完成拼图时,都会出现一个重新创建按钮,它只是调用 recreate() 方法来重新启动拼图活动。

我覆盖 onSaveInstanceState 因为我想保存为拼图选择的图像和 4 块以防屏幕方向发生变化。

因此,当用户单击重新创建按钮时,将调用 recreate() 方法,默认情况下该方法也会调用 onSaveInstanceState,因为这就是 android 的工作方式,用户将不得不一次又一次地用相同的图像玩拼图。

我不想在我的 onCreate 方法上实现相同的代码来选择一个新的随机图像,因为这会导致内存泄漏并且我的应用程序在 10-12 重新创建后崩溃。

我只是希望它以全新的方式重新启动活动!

除了在我的 recreatePuzzle 方法中使用 recreate() 之外,我还尝试了这个

但这再次导致我的应用程序在 10-12 重新创建后崩溃。它也导致内存泄漏。

因此,我相信最好的方法是在调用我的 recreatePuzzle 时跳过 saveInstanceState 的覆盖(如果可能的话),或者在调用 onSaveInstanceState 时传递一个空 Bundle。

有没有办法实现上述任何这些解决方案?

任何帮助将不胜感激。

谢谢大家。

编辑:

我班级的完整代码

0 投票
1 回答
400 浏览

android - 撤销权限后出现 IllegalStateException

在用户撤销设置中的权限并从后台恢复后,我的应用程序崩溃并出现 IllegalStateException:在 onSaveInstanceState 之后无法执行此操作。我看到操作系统试图从后台重新创建片段堆栈(重新启动应用程序不会导致崩溃)。我尝试使用标志捕获撤销操作,如果为真,则向用户显示一个对话框,通知重新启动应用程序。但在显示对话框后,操作系统仍会继续尝试重新创建堆栈,从而崩溃。

如果标志为真,我也尝试弹出所有片段,但没有运气。

谷歌开发人员表示,撤销权限会导致应用程序失去功能,但崩溃不仅仅是失去功能。显示对话框后如何暂停应用程序?

0 投票
1 回答
2118 浏览

android - 如何在android中保存布局的实例状态

我有一个活动和 5 个布局。在 onCreate 中,我为起始页布局设置了内容视图,然后通过一个按钮跳到另一个布局。当我旋转屏幕时出现问题。它返回到起始页。当我旋转屏幕时,我必须做些什么来保持相同的布局?这就是我在 onCreate 中所拥有的:

通过单击开始按钮,它转到第一种方法:

.....一些代码,然后

然后第二个问题:

等等。

0 投票
1 回答
230 浏览

android - 即使检查 isFinishing() 仍然会出现 IllegalStateException: Can not perform this action after onSaveInstanceState 可能是什么原因

获取 IllegalStateException:添加片段时,在活动中的 onSaveInstanceState 之后无法执行此操作。它在大多数情况下都有效,但看到有时会发生这种 IllegalStateException。

在检查活动是否仍然存在后完成添加片段:

为什么仍然会发生“IllegalStateException:onSaveInstanceState 后无法执行此操作”的任何解释?

代码片段是打击。

活动中:

显示新片段的片段:

迷恋;撞车;崩溃

0 投票
2 回答
1203 浏览

android - 传递结果失败 ResultInfo | java.lang.IllegalStateException:onSaveInstanceState 后无法执行此操作

我有一个简单的应用程序,首先我显示 MainActivity,然后在 MainActivity 变得可见后,我显示 TransparentActivity,然后 onClick 我杀死了 TransparentActivity 并创建并显示对话框。在最后一步我得到错误

错误

主要活动

透明提示

对话选择活动

透明不再可见后,我想在 MainActivity 上方显示对话框。我尝试在 onResume 上显示此对话框,但出现类似错误

0 投票
3 回答
110 浏览

android - 每当我旋转屏幕时,它都会从片段屏幕跳转到主活动屏幕

我是android的初学者,我用fragment创建了应用程序。当我旋转屏幕(在fragment屏幕时)它离开那个fragment屏幕并跳转到主活动屏幕。为什么?请帮我解决这个问题。

我的主要活动, Individualuser_Safmical.java:

我的片段ShopFrgment.java:

0 投票
0 回答
163 浏览

java - savedInstanceState 始终为空(Activity A 到 Activity B 回到 Activity A)

这是一个使用 Android Studio 的 Android 应用程序的 Java 语言项目。

我从Activity AtoActivity B然后回到Activity A。没有任何东西从Activity A到转移,但在从到Activity B的途中有。这是将您带到的代码:Activity BActivity AAcitvity BActivity A

在从 Activity B 回到 Activity A 的路上,我想用它Bundle savedInstanceState来恢复一个HashMap<Integer, ElementInfo>而不是解析URL填充HashMap在打开 Android 应用程序的 web。

这是HashMap<Integer, ElementInfo>我离开时的存储方式Activity A

我的问题是,每当我返回Activity Afrom时Activity B,我savedInstanceState就是null。有谁知道为什么从to回来savedInstancedState的时候?nullActivity BActivity A

0 投票
1 回答
78 浏览

java - 获取 savedInstanceState 时出现“GrallocAllocator 不支持颜色类型 6”

这是我得到的信息。你能告诉我我做错了什么吗?

我读到设置颜色最好使用getBackground.setColorFilter。不幸的是,在这种情况下它似乎不起作用。我该怎么做是问题。

0 投票
1 回答
262 浏览

android - OnSaveInstanceState 不保存实例

我是我的应用的 onSaveInstanceState 实现。我已经成功地实现了我的 onSaveInstanceState,但它在方向改变时并没有保持当前的问题。以下是我的 MainActivity。我一直在逐页关注 BigNerdRanchGuide 这本书。我不明白为什么它不起作用。

谢谢。

0 投票
1 回答
375 浏览

android - 保存片段状态方法

为了保存片段状态,我想我遇到了两种方法:

  1. 使用 onSaveInstanceState。
  2. 使用 Backstack 隐藏、添加和显示片段。

我不确定这两种方法是否都需要,例如 onSaveInstanceState 是专门用于处理旋转更改还是可以使用其中任何一种?