Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在onResume之后调用的方法?_Android_Orientation - Fatal编程技术网

Android 在onResume之后调用的方法?

Android 在onResume之后调用的方法?,android,orientation,Android,Orientation,不幸的是,在方向改变方面,Android中丢失了很多信息,因此必须重新构建。我有一个计算器类型的应用程序,它使用用户输入的数据存储在布局中的信息进行计算,在方向改变时,Android为我恢复布局数据。问题是,在onResume中,我调用了一个方法来重新计算数据以重置显示,因为这将在方向更改中丢失。然而,似乎在Android恢复数据之前调用了onResume。我该怎么办?问题是,android不会为您恢复数据。 旋转后,将重新创建活动 您应该将数据保存在onSaveInstanceState()中

不幸的是,在方向改变方面,Android中丢失了很多信息,因此必须重新构建。我有一个计算器类型的应用程序,它使用用户输入的数据存储在布局中的信息进行计算,在方向改变时,Android为我恢复布局数据。问题是,在onResume中,我调用了一个方法来重新计算数据以重置显示,因为这将在方向更改中丢失。然而,似乎在Android恢复数据之前调用了onResume。我该怎么办?

问题是,android不会为您恢复数据。 旋转后,将重新创建活动

您应该将数据保存在onSaveInstanceState()中,然后从


根据文档,onResume在onRestoreInstanceState之后立即被调用。

为什么不将数据保存在一个捆绑包中,然后在再次调用
onCreate()
时将其读回?我想我可以这样做,不过,进行简单的更新方法调用会更容易。您只是想在绘制视图后进行回调吗?可能值得研究一种基于
片段的方法,以利用在配置更改时保留实例的可能性。或者,如果纵向/横向没有不同的布局文件,则可以过滤掉方向更改,以便不会重新创建
活动。我不得不说,我通常更喜欢一种基于某种状态的方法,并从中更新UI(有点像MVC中的“M”和“V”),因此我只推荐后者作为一种快速修复方法。它们存储与视图相关的任何数据,如当前输入的EditText值,并在重新创建活动后恢复。它们不会。这就是为什么有onRestore/onSave instancestate方法的原因之一。我向您保证,它们确实有。我没有方法设置来保存/恢复我的数据,在方向更改时,来自微调器或编辑文本等的任何用户输入数据仍然存在。