【问题标题】:android Prevent a view from restoring its stateandroid防止视图恢复其状态
【发布时间】:2015-10-26 20:11:20
【问题描述】:

大多数内置小部件会在配置更改时恢复其状态。
但现在我想禁用此功能。
我在 onCreate() 调用期间为特定视图设置了一些值,如果设备旋转,它在 onRestoreInstanceState() 期间已更改。
我可以在 onRestoreInstanceState() 之后重置它,但也许还有另一种方法。

【问题讨论】:

    标签: android android-lifecycle


    【解决方案1】:

    您可以将android:saveEnabled="false" 添加到View(或以编程方式调用setSaveEnabled(false))。不过,View 仍会在配置更改时重新创建——它只是不会保存和恢复自己的私有状态。

    【讨论】:

    • 这正是我想要的。非常感谢
    【解决方案2】:

    在您的清单中将此添加到您的活动标签中

    android:configChanges="screenSize|orientation"
    

    这将防止编辑文本在设备旋转时恢复。

    【讨论】:

    • 如果我想要一些内置的来恢复它们的状态而有些不呢?
    • 您可以为此使用 onConfigurationChanged 方法,并且可以相应地控制旋转,例如 if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){ Log.e("On Config Change","LANDSCAPE") ; }else{ Log.e("关于配置更改","PORTRAIT"); }
    猜你喜欢
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多