1:切换屏幕 (App之间切换或手机home键)
内存保存:借助Bundle对象
保存数据:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//获得当前数:key
key=customListView.getFirstVisiblePosition();
outState.putInt("key",key);
Log.i("TAG", "运行了 onSaveInstanceState 保存 msg:"+key);
}
恢复数据:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
//获得保存的数
key=(Integer) savedInstanceState.get("key");
customListView.setSelectionFromTop(key, 0);
Log.i("TAG", "运行:onRestoreInstanceState恢复;key="+key);
super.onRestoreInstanceState(savedInstanceState);
}
2:完全退出App:使用外部存储
@Override
protected void onStop() {
Log.i("TAG", "onStop");
//外部存储:
key=customListView.getFirstVisiblePosition();//获得保存数据
sp=getSharedPreferences("languageLey",Context.MODE_PRIVATE);
ed=sp.edit();
ed.putInt("languageLey", key);
Log.i("TAG", "运行了 ed.putInt() onStop 保存 key:"+key);
ed.commit();
super.onStop();
}
@Override
protected void onStart() {
Log.i("TAG", "onStart");
sp=getSharedPreferences("languageLey",Context.MODE_PRIVATE);
key=sp.getInt("languageLey", key);(第二个参数可以随便写)
Log.i("TAG", "key="+key);
customListView.setSelectionFromTop(key, 0);
Log.i("TAG", "运行:onStart恢复;key="+key);
super.onStart();
}
内存保存:借助Bundle对象
保存数据:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//获得当前数:key
key=customListView.getFirstVisiblePosition();
outState.putInt("key",key);
Log.i("TAG", "运行了 onSaveInstanceState 保存 msg:"+key);
}
恢复数据:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
//获得保存的数
key=(Integer) savedInstanceState.get("key");
customListView.setSelectionFromTop(key, 0);
Log.i("TAG", "运行:onRestoreInstanceState恢复;key="+key);
super.onRestoreInstanceState(savedInstanceState);
}
2:完全退出App:使用外部存储
@Override
protected void onStop() {
Log.i("TAG", "onStop");
//外部存储:
key=customListView.getFirstVisiblePosition();//获得保存数据
sp=getSharedPreferences("languageLey",Context.MODE_PRIVATE);
ed=sp.edit();
ed.putInt("languageLey", key);
Log.i("TAG", "运行了 ed.putInt() onStop 保存 key:"+key);
ed.commit();
super.onStop();
}
@Override
protected void onStart() {
Log.i("TAG", "onStart");
sp=getSharedPreferences("languageLey",Context.MODE_PRIVATE);
key=sp.getInt("languageLey", key);(第二个参数可以随便写)
Log.i("TAG", "key="+key);
customListView.setSelectionFromTop(key, 0);
Log.i("TAG", "运行:onStart恢复;key="+key);
super.onStart();
}