我在自定义视图中遇到问题。关闭屏幕并重新打开后,其状态未保存。
当我关闭屏幕时, onSaveInstanceState
被正确调用,但是当我打开屏幕时,不会调用onRestoreInstanceState。我知道这是因为活动没有重新创建,但我不知道还有什么可以用来恢复视图的状态。
我想我需要在onStart()或onResume()上做一些事情,但我不想在活动中这样做,但在视图中,因为视图用于多个活动,它会是非常不方便。
我尝试过其他几种方法,比如onWindowsVisibilityChanged,但没有运气。
我还可以使用其他什么方法?
谢谢。
编辑:详细信息:我想保留的只是一个布尔值,让我知道按钮是否打开或关闭,所以我可以改变它的外观。我知道它应该在没有我干预的情况下保持它的外观,但实施是一个小小的错误。
答案 0 :(得分:1)
经过多次尝试后,我设法在onWindowFocusChanged(Boolean hasWindowFocus)
中获得了我需要的活动。就我而言,它给了我与onResume()
相同的机会,因为它被称为窗口变得可见并被带到前面。