Android - 暂停时保存页面位置

Android - saving a position of a page when pausing

我有一个 ViewPager 可以保存当前页面位置(作为其适配器中的顺序)。当应用程序进入背景时,ViewPager 似乎失去了它上次所在的位置,当再次切换到应用程序时,它从位置 0 的片段开始。

如何保存当前位置并设置正确的片段?希望它只需要在一个地方而不是在每个片段中完成。

好的,所以它最终只是标准的东西。我刚刚覆盖了 OnPauseOnResume。我在OnPause方法中用SharedPreferences保存了状态,在OnResume方法中恢复了状态。

@Override
public void onPause()
{
    super.onPause();
    final SharedPreferences.Editor ed = getSharedPreferences("name",
            android.content.Context.MODE_PRIVATE).edit();
    ed.putInt(INDEX_KEY_STRING, viewPager.getCurrentItem());
    ed.commit();
}

@Override
public void onResume()
{
    super.onResume();
    final SharedPreferences sp = getSharedPreferences("name",
            android.content.Context.MODE_PRIVATE);
    viewPager.setCurrentItem(sp.getInt(INDEX_KEY_STRING, 0));
}