Reputation: 2591
I have problem with my ViewPager. Method onPageSelected ViewPager not called after i set ViewPager.setCurrentItem . This my Code:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mMyFragmentPagerAdapter);
mViewPager.setCurrentItem(999);
mViewPager.addOnPageChangeListener(new OnPageChangeListener() {
public void onPageSelected(int currentIndex) {
current_posisition_page = currentIndex;
PageFragment page = ((MyFragmentPagerAdapter) mViewPager.getAdapter()).getFragment(current_posisition_page);
page.checkSetContentData();
}
public void onPageScrolled(int arg0, float arg1, int arg2) { /* Nothing to do here */ }
public void onPageScrollStateChanged(int arg0) { /* Nothing to do here */ }
});
....
}
above code, when activity created, viewpager jump to index 999 page. But the code inner onPageSelected not automatically called. it's just work when I swipe to index 988 page, and back again to index 999 page. so how to solve it ? thanks sorry for my Englsih.
Upvotes: 0
Views: 1387
Reputation: 173
You should do:
mViewPager.addOnPageChangeListener(this);
onPageChanged(999);
mViewPager.setCurrentItem(999);
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
// your code
}
@Override
public void onPageScrollStateChanged(int state) {
}
Upvotes: 0
Reputation: 2089
Try adding the listener before calling setCurrentItem()
.
Upvotes: 1