2013-01-06 60 views
1

我在我的活动中有一些纺织品。屏幕设置为2分钟后锁定。 解锁屏幕后,我所有的旋钮都被重置。我认为,解锁后调用onCreate方法。有什么办法可以设置活动在解锁屏幕后不重新创建吗?旋转屏幕时也会发生同样的情况,但这不是问题,我可以将布局设置为仅限肖像。防止解锁后重新创建活动屏幕

或者,也许是有一些场合,比如旋转,以防止再次调用onCreate方法?:

android:configChanges="orientation" 

感谢。

回答

0

http://developer.android.com/reference/android/app/Activity.html

“活动可以续和暂停状态 之间频繁去 - 比如当设备进入睡眠状态”

http://developer.android.com/training/basics/activity-lifecycle/pausing.html

你需要管理状态使用Activity生命周期方法,而不是试图“设置活动不要重新创建”。活动通过设计始终创建/销毁/重新创建(并且对于记录锁定到一个方向也是一种类型的帮助,正确地处理状态意味着您不必这样做)。

这个问题可能会帮助,答案有一个处理实例状态的一个例子:Saving Android Activity state using Save Instance State

+0

这是否意味着,我必须以某种方式保存里面的onPause我微调的状态,并设置微调回到自己insede的onResume位置?这是唯一的选择吗?我的布局有很多spinners和multichoice dialogs .. – Dusan

+0

是的,就是这样。将其保存在onSaveInstanceState中并将其恢复到onRestoreInstanceState中。即使有很多项目,它也不应该那么糟糕。这通常是非常简单的状态,与“实例”相关,例如您的微调控制器的位置。只需为该状态创建一个简单对象,并将其用于所有字段。然后解析它以在这些方法中保存/恢复状态。 –

+0

这就是我所要避免的......事情是......在大约9个纺纱厂之后,我有一个清单,每行可以有3个不同的状态。通过点击每一行,弹出一个多选对话框。当屏幕锁定时,所有这些都会重置。所以在onSaveInstanceState中恢复一切并不容易。但看起来,这是正确做到这一点的唯一方法。无论如何,感谢您的帮助! – Dusan