我得到了ViewPager
,它保存了当前页面位置(作为其适配器中的顺序)。当应用程序进入背景幕时,ViewPager似乎失去了它最后的位置,当再次切换到应用程序时,它从位置为0的片段开始。
如何保存当前位置并设置正确的片段?希望它只需要在一个地方完成,而不是在每个片段中完成。
答案 0 :(得分:1)
好的,所以它最终只是标准的东西。我刚刚覆盖了OnPause
和OnResume
。我在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));
}