我希望我的应用程序在已经加载一次之后保存状态。例如,在我的一项活动中,我有一个ListView。如果用户滚动它,然后切换活动,则我希望他们返回到ListView活动并具有相同的滚动位置。我注意到按下“后退”按钮可以返回该状态的已保存版本。这正是我想要的保存类型(它保存了先前活动的状态)。除了我想从应用程序中的任何位置执行此操作,而不仅仅是单击后退按钮时...请帮助我。
最佳答案
您必须覆盖onSaveInstanceState(Bundle savedInstanceState)
并将要保存的值作为名称/值对存储在Bundle
对象中。
@Override public void onSaveInstanceState(Bundle savedInstanceState)
{
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean("position", 12);
savedInstanceState.putString("Name", "John");
}
此外,您还必须覆盖要提取值的onRestoreInstanceState():
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
boolean myPosition=savedInstanceState.getBoolean("position");
String name= savedInstanceState.getString("Name");
}
请参阅此链接以获取帮助LINK
关于android - 如何保存 Activity 状态,而不是始终在Android中调用onCreate?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33888566/