我希望我的应用程序在已经加载一次之后保存状态。例如,在我的一项活动中,我有一个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/

10-14 11:02
查看更多