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

android - 如何模拟杀戮活动以节省内存?

安卓文档说:

“当系统而不是用户关闭活动以节省内存时,......”

但是如何模拟这种情况?我想调试onRestoreInstanceState(Bundle)方法,但不知道如何。

0 投票
1 回答
2879 浏览

android - Android 活动生命周期

活动恢复时首先调用什么?onRestoreInstanceState还是onActivityResult

0 投票
1 回答
5986 浏览

android - 动态更改 src 后保存 Android 图像状态

我正在开发一个Android应用程序,我在页面上有一个imageView,onLongClick它从Image A变为Image B。但是,当他们离开页面时,imageView又回到Image A。我怎样才能保存状态(我猜它完成了onpause,stop和destroy),以便它保存ImageView的当前图像src并在下次访问和创建页面时加载它。我从来没有在Android中保存过数据..

任何简单的数据保存教程/示例将不胜感激。

0 投票
6 回答
40679 浏览

android - 何时调用 onRestoreInstanceState?

对不起,我的不理解,但我是 android 开发的新手。

我有一个包含活动 A 和活动 B 的应用程序,我从活动 A 转到活动 B。当我离开活动 A 时,该onSaveInstanceState方法被调用,但是当我返回活动 A 时(从同一个应用程序中的活动 B ),onCreate方法中的捆绑包为空。

我该怎么做才能保存活动 A 的先前状态?我只想存储应用程序生命周期的数据。

有人可以帮我弄这个吗?

这是我的活动 A 代码:

这是我的活动 B 的代码,当我按下按钮返回活动 A 时:

0 投票
2 回答
1406 浏览

android - 在 onRestoreInstanceState 中捆绑 null?

我最近在我的程序中收到了崩溃。使用 logCat,我确定崩溃是由于onRestoreInstanceState()我的应用程序恢复时主要活动中的代码造成的。日志文件:

崩溃发生在mPanels = (Panel[]) inState.getParcelableArray("panelParcel");下面的 onRestoreInstanceState 方法中。

这种方法对我来说一直有效,直到这次崩溃,我试图弄清楚为什么 inState 似乎没有我保存在其中的对象数组(面板)。我很困惑,因为 inState 似乎不包括我保存到其中的 panelParcel。

我从这个问题中看到我通常应该使用onCreate而不是onRestoreInstanceState,但我很想了解为什么这在极少数情况下不起作用,也许我不完全了解活动生命周期的某些内容?

保存和恢复实例状态的代码:

0 投票
1 回答
21306 浏览

android - 片段在方向改变时恢复状态

我必须在我的应用程序中实现“标准”片段导航(请参阅链接)。

问题是当设备处于纵向模式时,应该只显示 1 个片段,当它旋转到横向模式时,应该显示 2 个片段。

我尝试以两种不同的方式做到这一点:

1) 我只使用了 1 个具有不同纵向和横向布局的活动。

纵向布局xml:

这是横向布局:

Activity的 onCreate方法:

这就是我刷新第二个片段的方式:

我还保存和恢复片段的状态,所以我的数据在旋转后不会消失。通常,此代码在我的情况下可以正常工作。

2)我对第一个活动纵向和横向模式使用 2 个活动和相同的布局。

xml 布局与之前的横向布局相同:

onCreate方法(注意,片段实体不是静态的,就像第一种情况一样):私有 ItemsFragment mItemsFragment;私有ItemDetailsFragment mItemDetailsFragment;

现在,如果设备处于纵向模式,我将启动新的 Activity:

最后,第二个 Activity 的onCreate方法:

当设备旋转到横向模式时,第二个活动完成,我看到我的第一个活动有 2 个片段(如预期的那样)。

问题:

在第一种情况下,我将片段保存为静态变量,因此我不在乎是否在纵向或横向模式下更改第二个片段状态(使用相同的片段)。但我认为将其保存为静态字段并不是一个好主意。

在第二种情况下,我不知道如何同步活动 A 片段 B(横向)和活动 B 片段 B(纵向)。如果我更改片段中的某些内容(我的意思是切换按钮等)并旋转设备,则应将更改应用于另一个片段。

一般来说,哪种情况更好,如果第二种情况,我该如何解决同步问题?或者也许还有另一种更简单的方法。感谢阅读,希望你能帮到我:)

0 投票
1 回答
29 浏览

android - 我如何处理 SaveInstanceState 中的属性和列表

我正在构建一个 android 应用程序,但是当我旋转对话框时我会崩溃,因为我没有实现 SaveInstanceState()。保存和恢复像字符串和原语这样的简单对象似乎很简单。但我还想保存一些更复杂的对象,如 Context、AttributSet 和一些侦听器?我该如何处理?对我来说,它们似乎并不真正适合捆绑。帮助将不胜感激:)

0 投票
1 回答
7902 浏览

java - 如何在片段中使用 onSaveInstanceState 和 onRestoreInstanceState 方法?

我有两个Fragments。其中一个有一个EditText和一个Button。另一个只有一个ListViewListView如果模拟器的方向发生任何变化,如何保存数据?

ListView我的问题是,当我旋转模拟器的屏幕时,我不知道如何保存和恢复我的。我应该把onSaveInstanceStateonRestoreInstanceState方法放在哪里以及如何使用它们?

MainActivity.java

AddToDoFragment.java

ToDoListFragment.java

0 投票
2 回答
4437 浏览

android - Android自定义复合视图保存和恢复状态不起作用

解决了...

我有一个包含其他一些控件的复合视图。我试图覆盖 saveonSaveInstanceStateonRestoreInstanceState,但得到一个奇怪的结果。

Parcelable state论点onRestoreInstanceState不是我的自定义子类BaseSavedStateSavedState而且似乎总是BaseSavedState.EMPTY_STATE。(在下面寻找“总是失败”的代码注释......

似乎问题可能出在保存部分,因为在SavedState.writeToParcel之后没有调用onSaveInstanceState enters. 几乎就像调用onSaveInstanceState的人在将结果持久保存到Parcel.

如果有所不同,则此视图托管在片段中。

有任何想法吗?

这是我的类定义:

这是我的onSaveInstanceStateonRestoreInstanceState对:

这是我的自定义BaseSavedState子类(内部类AddressInput):

0 投票
1 回答
431 浏览

android - 地图支持上没有空构造函数错误

我有一个地图支持片段,我在我的活动的 onCreate 中实现,如下所示:

实际的 CustomMapFragment 类如下所示:

当我从开发人员选项中打开“不要保留活动”以测试我保存的实例状态包时,我收到一个错误:

我在这里看到了另一篇关于这个的帖子,但坦率地说,我不明白解决方案是什么