112

ViewPagerを作成しましたが、すべて正常に機能していますが、ViewPagerの外部にある前の次のボタンを使用して、ViewPagerの内部をナビゲートしたいと考えています。手動でスワイプせずにViewPagerの次のアイテムに移動するにはどうすればよいですか?

4

4 に答える 4

162

祝福が答えviewpager.setCurrentItem(int index)たように行く方法です。

于 2011-11-12T09:26:37.260 に答える
114

完全を期すための完全な実装:

public void MoveNext(View view) {
    //it doesn't matter if you're already in the last item
    pager.setCurrentItem(pager.getCurrentItem() + 1);
}

public void MovePrevious(View view) {
    //it doesn't matter if you're already in the first item
    pager.setCurrentItem(pager.getCurrentItem() - 1);
}
于 2013-08-16T17:40:32.613 に答える
19

最も簡単な方法は次のとおりです。

nextButton.setOnClickListener { pager.arrowScroll(View.FOCUS_RIGHT) }
prevButton.setOnClickListener { pager.arrowScroll(View.FOCUS_LEFT) }
于 2018-10-11T09:10:36.623 に答える
0

私はそれをより良く修正します、tyAndroiderson。

  private void MoveNextTopSlideShow(View view)
    {
        if (_viewPager_TopImageSlide.CurrentItem == _viewPager_TopImageSlide.ChildCount)
        {
            if (_viewPager_TopImageSlide.ChildCount > 0)
            {
                _viewPager_TopImageSlide.SetCurrentItem(0,true);
            }
        }
        else
        {
            //it doesn't matter if you're already in the last item
            _viewPager_TopImageSlide.SetCurrentItem(_viewPager_TopImageSlide.CurrentItem + 1, true);
        }
    }

    private void MovePreviousTopSlideShow(View view)
    {
        if (_viewPager_TopImageSlide.CurrentItem == 0)
        {
            if (_viewPager_TopImageSlide.ChildCount > 0)
            {
                _viewPager_TopImageSlide.SetCurrentItem(_viewPager_TopImageSlide.ChildCount-1, true);
            }
        }
        else
        {
            //it doesn't matter if you're already in the first item
            _viewPager_TopImageSlide.SetCurrentItem(_viewPager_TopImageSlide.CurrentItem - 1, true);
        }
    }
于 2017-04-21T06:10:14.343 に答える