Android:屏幕唤醒(和锁定)后未调用onRestoreInstanceState

时间:2012-02-17 10:10:04

标签: android view state restore wakeup

我在自定义视图中遇到问题。关闭屏幕并重新打开后,其状态未保存。

当我关闭屏幕时,

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

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

我尝试过其他几种方法,比如onWindowsVisibilityChanged,但没有运气。

我还可以使用其他什么方法?

谢谢。

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

1 个答案:

答案 0 :(得分:1)

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