it-swarm-id.com

Bagaimana cara memprogram tampilan berikutnya di ViewPager?

Saya membuat ViewPager dan semuanya berfungsi dengan baik, namun saya ingin memiliki tombol berikutnya di luar ViewPager yang dapat digunakan untuk bernavigasi di dalam ViewPager. Bagaimana saya bisa pergi ke Item berikutnya di ViewPager tanpa menggesekkan secara manual?

94
Vaibhav Mishra

Sebagai blessenm menjawab viewpager.setCurrentItem(int index) adalah cara untuk pergi.

141
Vaibhav Mishra

Implementasi lengkap hanya untuk kelengkapan:

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);
}
93
Androiderson

Cara termudah adalah:

nextButton.setOnClickListener { pager.arrowScroll(View.FOCUS_RIGHT) }
prevButton.setOnClickListener { pager.arrowScroll(View.FOCUS_LEFT) }
3
Pitel

saya memperbaikinya Lebih baik, orang Android.

  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);
        }
    }
0
Arman