Domanda

how to get current item no in 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();

               }

but this methods are not working properly.when ever i swipe front and back it gives the wrong item no..

È stato utile?

Soluzione

set ViewPager.setOnPageChangeListener on your viewpager.

Some thing like this-

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) {

            }
        });

Altri suggerimenti

try like this

ViewPager.getCurrentItem();

or

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

you have to put a page change listener for your viewPager. There is no method on viewPager to get the current page.

private int currentPage;

    private static class PageListener extends SimpleOnPageChangeListener{
            public void onPageSelected(int position) {
                Log.i(TAG, "page selected " + position);
                   currentPage = position;
        }
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top