如何检测用户是否更改了设备方向,以便每次重新创建活动时都不会运行相同的初始化代码?或者我如何恢复我的活动状态(包括变量值)?
由于
答案 0 :(得分:4)
推荐的方法是使用onSavedInstanceState()。这将保存Activity
和变量的状态。
我通常这样做的方式,据说是文档中的最后手段,是自己处理配置更改。在manifest
中,您可以声明
<activity
...
android:configChanges="orientation"/>
然后在Activity
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// add logic here if you need
}