我创建了一个 ViewPager,一切正常,但是我希望在 ViewPager 之外有一个上一个下一个按钮,可以用来在 ViewPager 内部导航。如何在不手动滑动的情况下转到 ViewPager 上的下一个项目?
问问题
63727 次
4 回答
162
正如 blessenm 回答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
我修复它更好,ty Androiderson。
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 回答