在 viewPager android 中使用箭头导航?我尝试了不同的例子但没有成功

Use Arrow for navigation in viewPager android ? i have tried different example but not succeded

-我想要的是..用户可以通过滑动以及使用右箭头或左箭头移动到下一张图片..我可以滑动..但是箭头不起作用。

这样试试

Button leftButton = (Button)findViewById(R.id.left);
    leftButton.setOnClickListener(new OnClickListener() {

     @Override
           public void onClick(View view) {
               mViewPager.setCurrentItem(getItem(-1), true);
           }
        });

Button rightButton = (Button)findViewById(R.id.right);
    rightButton.setOnClickListener(new OnClickListener() {

     @Override
           public void onClick(View view) {
               mViewPager.setCurrentItem(getItem(+1), true);
           }
        });



private int getItem(int i) {
       return mViewPager.getCurrentItem() + i;
}

试试这个:

 @Override 
public void onClick(View v) {
    int currentItemPosition = adapter.getItemPosition(viewpager.getCurrentItem());
    int itemCount = adapter.getCount();
    switch (v.getId())
    { 
        case R.id.left:
            if(currentItemPosition > 0) {
                viewPager.setCurrentItem(currentItemPosition - 1, true);
            }
            break; 

        case R.id.right:
            if(currentItemPosition < itemCount-1 ) {
                viewPager.setCurrentItem(currentItemPosition + 1, true);
            }
            break; 

    } 
} 

如果你想让它与滑动和箭头一起工作,那么你必须像这样使用左右监听器。

    right.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            if(pager.getCurrentItem() < pager.getRight())
            pager.setCurrentItem(pager.getCurrentItem()+1,true);
        }
    });

    left.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (pager.getCurrentItem() > pager.getLeft())
                pager.setCurrentItem(pager.getCurrentItem()-1,true);
        }
    });

尝试以下方法

为左箭头和右箭头实现 2 个按钮。 在单击函数调用中:

a) 如果 箭头被点击 - viewPager.arrowScroll(View.FOCUS_LEFT);

b) 如果 箭头被点击 - viewPager.arrowScroll(View.FOCUS_RIGHT);