问题标签 [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 投票
3 回答
946 浏览

java - onRestoreInstanceState() 究竟是如何工作的?

我需要你的帮助。我正在制作一个应用程序,我使用方法onSaveInstanceState()and onRestoreInstanceState(),但第二种方法不起作用。

当按下主页按钮时,我可以看到程序如何访问 onSaveinstancestate(),但是当我返回应用程序时,代码不会调用onRestoreInstanceState()onCreate().

结果,应用程序从头开始。我不知道原因……你能帮帮我吗?

这是我的代码:

0 投票
1 回答
125 浏览

android - 处理android购物车中getExtras返回null的情况

我的购物车中有一个 ExpandableListView,我使用 ExpandableListAdapter 和购物车活动将商品加载到我的购物车中。当一个项目被添加到购物车时,我可以显示它,但是一旦我更改活动并返回购物车,购物车就会变成空的,它会将添加的项目显示为空。我怎样才能在我的购物车中保存价值。

我阅读了有关使用的信息onSaveInstanceState(Bundle)onRestoreInstanceState()但我对如何准确使用它感到有些困惑。下面我展示了我的代码。谁能帮我这个。任何帮助将不胜感激。

在我的第二个活动中

0 投票
1 回答
363 浏览

android - 使用 onSaveInstanceState 和 onRestoreInstanceState 的问题

我在我的购物车活动中使用以下代码。当我将商品添加到购物车时,它会显示购物车中的商品。但是当我打开另一个活动并返回购物车时,它显示为空。然后我发现使用onSaveInstanceStateand onRestoreInstanceState.. 即使在我使用此代码后它也显示为空。谁能指出这段代码出了什么问题。

通过使用此代码,我期望的是,当我将商品添加到购物车时,它将保存在 onSaveInstanceState 中,当我再次打开购物车时,它将使用 onRestoreInstanceState 并显示购物车上的商品。

0 投票
1 回答
841 浏览

java - Android onRestoreInstanceState 未在方向更改时完全更新

我在计数程序中有一个问题,它显示了 onCreate、onStart 等方法被调用了多少次,当我从 Activity1 转到 Activity2 然后返回 Activity1 时,它似乎工作正常,但是当我切换方向时,只有mResume 增加。因此,例如,当我启动应用程序并切换方向 3 次时,结果如下所示:

另一个奇怪的事情是,当我从 onRestoreInstanceState 中注释掉 mResume、mRestart 和 mStart 时,突然 2 个变量得到更新 mStart 和 mResume。

这是完整的代码

这是xml

0 投票
0 回答
82 浏览

android - 在为结果调用 Activity 时,是否有适当的方法来执行等效于 onRestoreInstanceState 的操作?

我目前正在从相机或图库中检索照片,例如

哪个工作正常。当前活动的行为有点误导。

它调用 onSaveInstanceState 很好,但是当你得到回调 onActivityResult 它从不调用 onRestoreInstanceState,现在我理解了生命周期,但这似乎违反直觉。你真的必须知道关于 onSaveInstanceState/onRestoreInstanceState 的事情是如何执行的,或者你是否忽略它并在 onPause/onResume 中使用 perm 存储。我已经看到了 onSaveInstanceState/onRestoreInstanceState 分别在 onPause/onResume 之前的解释。所以看起来 Activity 生命周期并没有真正处理这个问题。直觉上你会认为如果 onSaveInstanceState 被调用,那么 onRestoreInstanceState 应该被调用。在复杂的活动中,我几乎已经准备好自己编写了。处理这种情况的最佳方法是什么?

0 投票
0 回答
383 浏览

android - 关闭活动后如何保存数组并在调用相同活动时将其加载回来?

我实现了以下代码,但它不像我想要的那样工作:

我的 onSaveInstanceState 和恢复:

我的 onStop、onResume、onPause 方法:

所以我有一个 int 数组,如果活动停止/关闭,我想保存它,如果再次调用活动但我使用的代码不起作用,则立即加载。

  • saveGridViewColor() 将 int[] 数组保存到 colorArraySave
  • colorTheGridView() 通过一个 int 数组为 gridview 项目着色。

任何想法我怎样才能得到这个工作?

0 投票
1 回答
99 浏览

java - 数组列表saveInstanceState 不返回列表

当我的用户关闭我的应用程序时,我需要保存ArrayList<>一个自定义项。Object我可以在 logcat 中看到它在我使用时“保存”它,但是outBundle当我使用Bundle.putParcelableArrayListGenymotion 或物理手机再次启动应用程序时它不会恢复它。如果这会有所帮助,我也不能出于任何原因将其final String转换为。Serializable

我试过onCreate(savedInstanceState != null)声明和 in调用它onRestoreInstanceState。我在这里遗漏了一些明显的东西吗?

编辑:这是我想在 logCat 中看到的:

这就是我得到的:

onRestore 或 onCreate 没有 logcat 输出,因为它从不“播放”它。/编辑

0 投票
2 回答
652 浏览

android - 如何在 OnRestoreInstanceState 中恢复分配的 OnClickListener

我目前有一些OnClickListener基于事件分配的按钮。但是,当我尝试在方向更改时恢复所有内容时,OnClickListeners所有内容都已重置。

我需要一种将OnClickListener分配给按钮的内容放入包中的方法,以便我可以在OnRestoreInstanceState.

任何帮助将非常感激。

0 投票
0 回答
189 浏览

android - 带有 FragmentTabHost 的 Android Activity - 从 MainActivity 中的详细信息调用“onCreate”返回

我在三星 Alpha (4.4.4) 上遇到了一些奇怪的行为。我已经构建了一个应用程序,该应用程序具有一个带有 4 个不同(选项卡)MainActivity的 FragmentTabHost 。Fragments在每个选项卡上,您都可以搜索不同的内容,当点击其中一个选项卡时,将调用一个新活动并显示详细信息。

现在,在我的三星 S3(4.2)和模拟器(4.4,三星 S5)上运行应用程序时,一切正常,这意味着,当我点击详细信息并返回我的列表时,MainActivity我仍然可以看到我的列表条目(以及所有其他片段保持其状态)。现在,当我在我的 gilfriends 手机 Samsung Alpha 4.4.4 上运行我的应用程序时,每次我从详细信息返回时onCreate,我的**MainActivity**这当然意味着我所有的片段都被再次创建(所以它们是空的)。手机的行为怎么可能不同,我可以做些什么来保存我的数据?我知道我可以保存我的列表条目并恢复它们(然后每次有人点击详细信息时我都必须恢复我的所有片段),但我认为,因为它在我的手机上工作,也许它是一个标志或者我必须设置的东西。这就是我在导航回我的活动后恢复我的列表的方式:

但是由于活动和片段是新创建mPersonList的,所以总是null

0 投票
0 回答
43 浏览

android - 为什么我的活动不能重新创建之前的活动?

我有一个Activity(A),它正在下载一个文件并将其中的数据(一些书名)放入listView. 从这个Activity(A)我开始另一个Activity(B)我可以用它做一些工作。问题是当我想使用按钮(从)返回(A)呼叫时,文件再次开始下载(尽管它已被下载)。我正在使用 a来下载文件并使用 a来放置下载文件的内容。我试图保存我的,像这样(我不想再次下载文件):this.finish()BDownloadManagerString[] bookActivity State

并重新创建我的Activity,我尝试了这个(我不希望再次下载文件):

但是当我想从 to 回来时应用程序崩溃BA。非常欢迎任何帮助或提示向我展示如何BA不每次下载文件的情况下进行操作。在此先感谢,卡尔。