public class MainActivity extends BaseActivity { @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putString("savedata","this is form save....."); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState != null){ String savedata = savedInstanceState.getString("savedata"); Log.d("savedata",savedata); } }当activityA跳转到activityB时,A当前view的状态(有定义id的)会自动保存。这时要是因内存不足(或者横竖屏切换)而将A销毁,B返回到A时会重新执行oncreate方法到A页面,这时候A当前View的状态会恢复。
在Activity中保存用户的当前操作状态,如输入框中的文本,一般情况下载按了home键后,重新进入文本框中的东西会丢下,所以我们要保存当前页面信息,如在写短信的时候接到一个电话,那么当你接电话的时候短信界面就会别隐藏,那么我们希望接完电话后可以继续编辑短信,就需要保存状态。使用办法:
重写Activity中的onSaveInstanceState(Bundle outState)方法,保存数据。其中Bundle是一个键值对的集合。
onCreate方法里也有这个参数,但是一开始这个数据是空的。判断saveInstanceState是否为空,不为空时取出数据。