在多选的activity,旋转屏幕,如何把多选数据恢复到旋转后的activity上?发现旋转后,会执行activity的onstop方法,所以数据无法在onSaveInstanceState中进行保存

解决方案 »

  1.   

    1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
     
    2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
     
    3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
    ===========================
    摘自网络。
      

  2.   

    旋转时,会调用onSaveInstanceState方法的,然后在onCreate方法中取出保存的数据就可以啊,或者onRestoreInstanceState,这个方法在onStart後调用。
    还有一种办法,可以使用SharedPreferences存储(也是用Key-value的方式),OnStop()存,OnStart()读。这种方法的好处是,用户主动退出也可以保存应用需要保存的状态。
      

  3.   

    同意2楼,onSaveInstanceState是在onStop之前调用,可以保存的。