Reputation: 5353
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..
Upvotes: 0
Views: 2937
Reputation: 7092
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;
}
}
Upvotes: 1
Reputation: 960
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) {
}
});
Upvotes: 3