在Android中,当屏幕方向发生改变时,Activity会被销毁并重新创建。为了保留Activity的状态和数据,可以使用onSaveInstanceState()方法保存数据,并在onRestoreInstanceState()方法中恢复数据。
在onSaveInstanceState()方法中,可以使用Bundle对象保存需要保留的数据。例如:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("myObject", myObject);
}
在onRestoreInstanceState()方法中,可以从Bundle对象中获取之前保存的数据,并进行恢复操作。例如:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
myObject = (MyObject) savedInstanceState.getSerializable("myObject");
}
通过这种方式,可以在屏幕方向改变后恢复之前保存的对象。请注意,如果对象不是可序列化的,需要使用其他适当的方法进行保存和恢复。