原因:安卓在屏幕旋转、外置设备的连接与断开时,都是手机状态的改变,此时均为执行onCreate()方法,造成屏幕刷新,数据丢失。
解决方法:
在AndroidManifest.xml文件中,给active添加android:configChanges属性,当指定属性发生改变时,执行onConfigurationChanged()方法
android:configChanges="orientation|keyboardHidden|screenSize|keyboard"
orientation:设备旋转,横向显示和竖向显示模式切换。
keyboardHidden:用户打开手机硬件键盘
screenSize:4.0以上横竖屏幕切换
keyboard:键盘模式发生变化,例如:用户接入外部键盘输入。
重写onConfigurationChanged方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}