0

如何在 viewpager 中获取当前项目编号。

@Override
    public Object instantiateItem(ViewGroup paramView, int paramInt) {


        int itemno1= getItem(pager.getCurrentItem());
                   int itemno2= getItem(paramInt);

        Toast.makeText(context, "postition"+itemno1, Toast.LENGTH_SHORT).show();
        //Toast.makeText(context, "postition"+itemno2, Toast.LENGTH_SHORT).show();

               }

但是这种方法不能正常工作。当我前后滑动时,它会给出错误的项目编号..

4

2 回答 2

3

在您的浏览器上设置ViewPager.setOnPageChangeListener

像这样的东西-

myViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i2) {

            }

            @Override
            public void onPageSelected(int i) {
              // here you will get the position of selected page
            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });
于 2013-09-10T13:21:28.260 回答
1

试试这样

ViewPager.getCurrentItem();

或者

pageListener = new PageListener();
ViewPager.setOnPageChangeListener(pageListener);

您必须为您的 viewPager 放置一个页面更改侦听器。viewPager 上没有获取当前页面的方法。

private int currentPage;

    private static class PageListener extends SimpleOnPageChangeListener{
            public void onPageSelected(int position) {
                Log.i(TAG, "page selected " + position);
                   currentPage = position;
        }
    }
于 2013-09-10T13:59:27.260 回答