问题标签 [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.
android - 重新创建传递硬编码空实例状态的活动
我正在制作一个益智游戏,每次用户完成拼图时,都会出现一个重新创建按钮,它只是调用 recreate() 方法来重新启动拼图活动。
我覆盖 onSaveInstanceState 因为我想保存为拼图选择的图像和 4 块以防屏幕方向发生变化。
因此,当用户单击重新创建按钮时,将调用 recreate() 方法,默认情况下该方法也会调用 onSaveInstanceState,因为这就是 android 的工作方式,用户将不得不一次又一次地用相同的图像玩拼图。
我不想在我的 onCreate 方法上实现相同的代码来选择一个新的随机图像,因为这会导致内存泄漏并且我的应用程序在 10-12 重新创建后崩溃。
我只是希望它以全新的方式重新启动活动!
除了在我的 recreatePuzzle 方法中使用 recreate() 之外,我还尝试了这个
但这再次导致我的应用程序在 10-12 重新创建后崩溃。它也导致内存泄漏。
因此,我相信最好的方法是在调用我的 recreatePuzzle 时跳过 saveInstanceState 的覆盖(如果可能的话),或者在调用 onSaveInstanceState 时传递一个空 Bundle。
有没有办法实现上述任何这些解决方案?
任何帮助将不胜感激。
谢谢大家。
编辑:
我班级的完整代码
android - 撤销权限后出现 IllegalStateException
在用户撤销设置中的权限并从后台恢复后,我的应用程序崩溃并出现 IllegalStateException:在 onSaveInstanceState 之后无法执行此操作。我看到操作系统试图从后台重新创建片段堆栈(重新启动应用程序不会导致崩溃)。我尝试使用标志捕获撤销操作,如果为真,则向用户显示一个对话框,通知重新启动应用程序。但在显示对话框后,操作系统仍会继续尝试重新创建堆栈,从而崩溃。
如果标志为真,我也尝试弹出所有片段,但没有运气。
谷歌开发人员表示,撤销权限会导致应用程序失去功能,但崩溃不仅仅是失去功能。显示对话框后如何暂停应用程序?
android - 如何在android中保存布局的实例状态
我有一个活动和 5 个布局。在 onCreate 中,我为起始页布局设置了内容视图,然后通过一个按钮跳到另一个布局。当我旋转屏幕时出现问题。它返回到起始页。当我旋转屏幕时,我必须做些什么来保持相同的布局?这就是我在 onCreate 中所拥有的:
通过单击开始按钮,它转到第一种方法:
.....一些代码,然后
然后第二个问题:
等等。
android - 即使检查 isFinishing() 仍然会出现 IllegalStateException: Can not perform this action after onSaveInstanceState 可能是什么原因
获取 IllegalStateException:添加片段时,在活动中的 onSaveInstanceState 之后无法执行此操作。它在大多数情况下都有效,但看到有时会发生这种 IllegalStateException。
在检查活动是否仍然存在后完成添加片段:
为什么仍然会发生“IllegalStateException:onSaveInstanceState 后无法执行此操作”的任何解释?
代码片段是打击。
活动中:
显示新片段的片段:
迷恋;撞车;崩溃
android - 传递结果失败 ResultInfo | java.lang.IllegalStateException:onSaveInstanceState 后无法执行此操作
我有一个简单的应用程序,首先我显示 MainActivity,然后在 MainActivity 变得可见后,我显示 TransparentActivity,然后 onClick 我杀死了 TransparentActivity 并创建并显示对话框。在最后一步我得到错误
错误
主要活动
透明提示
对话选择活动
透明不再可见后,我想在 MainActivity 上方显示对话框。我尝试在 onResume 上显示此对话框,但出现类似错误
android - 每当我旋转屏幕时,它都会从片段屏幕跳转到主活动屏幕
我是android的初学者,我用fragment创建了应用程序。当我旋转屏幕(在fragment屏幕时)它离开那个fragment屏幕并跳转到主活动屏幕。为什么?请帮我解决这个问题。
我的主要活动, Individualuser_Safmical.java:
我的片段ShopFrgment.java:
java - savedInstanceState 始终为空(Activity A 到 Activity B 回到 Activity A)
这是一个使用 Android Studio 的 Android 应用程序的 Java 语言项目。
我从Activity A
toActivity B
然后回到Activity A
。没有任何东西从Activity A
到转移,但在从到Activity B
的途中有。这是将您带到的代码:Activity B
Activity A
Acitvity B
Activity A
在从 Activity B 回到 Activity A 的路上,我想用它Bundle savedInstanceState
来恢复一个HashMap<Integer, ElementInfo>
而不是解析URL
填充HashMap
在打开 Android 应用程序的 web。
这是HashMap<Integer, ElementInfo>
我离开时的存储方式Activity A
。
我的问题是,每当我返回Activity A
from时Activity B
,我savedInstanceState
就是null
。有谁知道为什么从to回来savedInstancedState
的时候?null
Activity B
Activity A
java - 获取 savedInstanceState 时出现“GrallocAllocator 不支持颜色类型 6”
这是我得到的信息。你能告诉我我做错了什么吗?
我读到设置颜色最好使用getBackground.setColorFilter。不幸的是,在这种情况下它似乎不起作用。我该怎么做是问题。
android - OnSaveInstanceState 不保存实例
我是我的应用的 onSaveInstanceState 实现。我已经成功地实现了我的 onSaveInstanceState,但它在方向改变时并没有保持当前的问题。以下是我的 MainActivity。我一直在逐页关注 BigNerdRanchGuide 这本书。我不明白为什么它不起作用。
谢谢。
android - 保存片段状态方法
为了保存片段状态,我想我遇到了两种方法:
- 使用 onSaveInstanceState。
- 使用 Backstack 隐藏、添加和显示片段。
我不确定这两种方法是否都需要,例如 onSaveInstanceState 是专门用于处理旋转更改还是可以使用其中任何一种?