【发布时间】:2014-07-03 05:59:26
【问题描述】:
我创建了一个小的 Android 应用程序,它使用 Viewpager 来阅读故事。这是我的代码:
重写 FragmentStatePagerAdapter 的 getItem() 方法:
@Override
public Fragment getItem(int position) {
TextStoryChapter chapter = (TextStoryChapter) getIntent().getSerializableExtra("chapter");
return ScreenSlidePageFragment.create(position,chapter);
}
ScreenSlidePageFragment类的create()方法:
public static final String ARG_PAGE = "page";
private int mPageNumber;
private static String chapterName;
private static String content;
public static ScreenSlidePageFragment create(int pageNumber, TextStoryChapter chapter) {
ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
Bundle args = new Bundle();
args.putInt(ARG_PAGE, pageNumber);
TextStoryChapterDetail detail = chapter.pages.get(pageNumber);
chapterName = "Page " + Integer.toString(detail.pageNo);
content = detail.content;
fragment.setArguments(args);
return fragment;
}
还有ScreenSlidePageFragment类的onCreate()方法:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPageNumber = getArguments().getInt(ARG_PAGE);
Log.e("PageNumber", Integer.toString(mPageNumber));
}
但是当我运行应用程序时,ViewPager 总是在开始时显示第 2 页的内容(我创建了一个有 5 个内容页的TextStoryChapter),在下一页显示相同的内容。第 1 页的内容就消失了。当我导航到第 3 页并滑回第 1 页时,一切又恢复正常,不再有第 2 页的重复内容,我不知道为什么以及如何发生。任何人都可以帮助我吗?非常感谢!
【问题讨论】:
标签: android android-fragments position android-viewpager pager