跳转到FragmentStatePagerAdapter中任何片段的下一个片段

时间:2013-07-23 10:26:40

标签: android android-fragments adapter fragmentstatepageradapter

我在我的应用程序中使用FragmentStatePagerAdapter。 这是我的适配器:

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    List<FeedItem> posts = FeedListFragment.getPosts();

    public ScreenSlidePagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager);
    }

    @Override
    public Fragment getItem(int position) {
        FeedItem post = posts.get(position);
        String url = post.getUrl();
        String title = post.getTitle();
        String imagUrl = null;
        if (post.getType() == FeedItem.ARTICLE_VIEW_TYPE) {
            imagUrl = posts.get(position).getArticle().getImageUrl();
        }
        ScreenSlidePageFragment fragment = new ScreenSlidePageFragment(url, title, imagUrl);
        fragment.setPostsFragmentOnItemClickListener(PostActivity.this);
        return fragment;
    }

    @Override
    public int getCount() {
        return posts.size();
    }
}

我需要的是跳转到此适配器中的特定位置,以及跳转到下一个和上一个视图的能力。 我怎样才能做到这一点? 谢谢!

1 个答案:

答案 0 :(得分:5)

您可以使用viewPagerInstance.setCurrentItem(int position)。请记住它基于0的位置(您可以使用0adapter.getCount() - 1之间的值。)

对于下一个和上一个项目使用:

int currentItem = pager.getCurrentItem();

并将+/- 1添加到currentItem。当然,您必须检查currentItem+1是否超出adapter.getCount()if currentItem-1是否大于或等于0

编辑:我使用mPager.arrowScroll(View.FOCUS_LEFT);效果很好。