Android - 暂停时保存页面的位置

时间:2015-03-11 14:30:16

标签: android android-fragments android-viewpager

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

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

1 个答案:

答案 0 :(得分:1)

好的,所以它最终只是标准的东西。我刚刚覆盖了OnPauseOnResume。我在SharedPreferences方法中使用OnPause保存了州,并使用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));
}