Android 在onResume之后调用的方法?
不幸的是,在方向改变方面,Android中丢失了很多信息,因此必须重新构建。我有一个计算器类型的应用程序,它使用用户输入的数据存储在布局中的信息进行计算,在方向改变时,Android为我恢复布局数据。问题是,在onResume中,我调用了一个方法来重新计算数据以重置显示,因为这将在方向更改中丢失。然而,似乎在Android恢复数据之前调用了onResume。我该怎么办?问题是,android不会为您恢复数据。 旋转后,将重新创建活动 您应该将数据保存在onSaveInstanceState()中,然后从Android 在onResume之后调用的方法?,android,orientation,Android,Orientation,不幸的是,在方向改变方面,Android中丢失了很多信息,因此必须重新构建。我有一个计算器类型的应用程序,它使用用户输入的数据存储在布局中的信息进行计算,在方向改变时,Android为我恢复布局数据。问题是,在onResume中,我调用了一个方法来重新计算数据以重置显示,因为这将在方向更改中丢失。然而,似乎在Android恢复数据之前调用了onResume。我该怎么办?问题是,android不会为您恢复数据。 旋转后,将重新创建活动 您应该将数据保存在onSaveInstanceState()中
根据文档,onResume在onRestoreInstanceState之后立即被调用。为什么不将数据保存在一个捆绑包中,然后在再次调用
onCreate()
时将其读回?我想我可以这样做,不过,进行简单的更新方法调用会更容易。您只是想在绘制视图后进行回调吗?可能值得研究一种基于片段的方法,以利用在配置更改时保留实例的可能性。或者,如果纵向/横向没有不同的布局文件,则可以过滤掉方向更改,以便不会重新创建活动。我不得不说,我通常更喜欢一种基于某种状态的方法,并从中更新UI(有点像MVC中的“M”和“V”),因此我只推荐后者作为一种快速修复方法。它们存储与视图相关的任何数据,如当前输入的EditText值,并在重新创建活动后恢复。它们不会。这就是为什么有onRestore/onSave instancestate方法的原因之一。我向您保证,它们确实有。我没有方法设置来保存/恢复我的数据,在方向更改时,来自微调器或编辑文本等的任何用户输入数据仍然存在。