您好我正在使用ViewPager自动刷10个文本报价。当我打开一个应用程序时,它从IMAGE1开始。然后继续刷到第10个报价。让我们考虑一下,viewpager显示第5个报价。现在我关闭它。当我再次打开应用程序时,它从第一个引号开始。但我需要显示第6个报价。
如何从我之前离开的地方恢复报价。
引用1:
引用5:
引用6:
更新
int count=0;
int pager_position;
private void setTime_ToSlide() {
TextSlideShowAdapter adapter = new TextSlideShowAdapter(MainActivity.this, title1, title2);
myPager = (ViewPager) findViewById(R.id.reviewpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
Log.e("TEST", "Title Value Main " + title1 + " Title 2" + title2);
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (count1 <= 56) {
myPager.setCurrentItem(count1);
pager_position = myPager.getCurrentItem();
Log.e("Get current item", String.valueOf(myPager.getCurrentItem()));
count1++;
} else {
count1 = 0;
myPager.setCurrentItem(count1);
}
}
});
}
}, 500, 3000);
}
@Override
protected void onPause() {
super.onPause();
saveCurrentPagePosition();
Log.e("Get SharedPreference ", String.valueOf(pager_position));
}
@Override
protected void onResume() {
super.onResume();
//...
setCurrentPagePosition();
}
private void setCurrentPagePosition() {
myPager.setCurrentItem(pager_position);
}
private void saveCurrentPagePosition() {
// store current page position in shared preference
SharedPreferences.Editor editor = pref.edit();
editor.putInt("PagerPosition", pager_position);
editor.commit();
}
答案 0 :(得分:2)
将您的页面位置存储在onPause方法的sharedpreferences中,当您返回应用程序从首选项获取页面值并使用该值设置当前项目
viewPager.setCurrentItem(postion from preferences);
答案 1 :(得分:1)
正如Ajinkya所说,在你的活动/片段的onPause()中将你的寻呼机的当前位置存储在共享偏好中。
@Override
public void onPause() {
super.onPause();
saveCurrentPagePosition();
}
获取Activity / Fragment onResume()中存储的位置,并设置ViewPager的当前位置,如
@Override
protected void onResume() {
super.onResume();
//...
setCurrentPagePosition();
}
辅助方法 -
private void setCurrentPagePosition() {
// fetch from shared prefs or set default as 0
viewPager.setCurrentItem(postion_from_preferences);
}
private void saveCurrentPagePosition() {
// store current page position in shared preference
}