2012-02-17 135 views
0

我在自定义视图中遇到问题。关闭屏幕并重新打开后,其状态不会保存。Android:onRestoreInstanceState在屏幕唤醒(并锁定)后未调用

onSaveInstanceState当我关闭屏幕时调用正确,但是当我打开屏幕时,onRestoreInstanceState不会被调用。我知道这是因为活动没有重新创建,但我不知道还有什么可用来恢复视图的状态。

我想我需要在onStart()或onResume()上做些什么,但我不想在活动中做这件事,但在视图中,因为视图被用于多个活动,它会非常不方便。

我已经尝试了几个其他方法,如onWindowsVisibilityChanged,但没有运气。

我还可以使用其他方法吗?

谢谢。

编辑:详细信息:我想保留的只是一个布尔值,让我知道如果按钮被打开或关闭,所以我可以改变它的外观。我知道它应该在没有我的干预的情况下保持它的外观,但实施是一个小错误。

回答

1

经过一番尝试,我设法得到了我需要的活动onWindowFocusChanged(Boolean hasWindowFocus)。就我而言,它给了我与onResume()相同的机会,因为它被称为就在窗口变得可见并被带到前面。