Android-Universal-ViewPager-Indicator
Android-Universal-ViewPager-Indicator copied to clipboard
attachToViewPager 中没有判断 itemCount 为零的情况
public void attachToViewPager(ViewPager viewPager) {
this.viewPager = viewPager;
PagerAdapter pagerAdapter = viewPager.getAdapter();
if (pagerAdapter != null) {
//TODO 如果项目使用了阿里开源库,UltraViewPager,想要兼容需要用以下方式获取 itemCount,否则去除这个if条件
if (pagerAdapter instanceof UltraViewPagerAdapter) {
//从UltraViewPagerAdapter获取真实的个数
itemCount = ((UltraViewPagerAdapter) pagerAdapter).getRealCount();
} else {
itemCount = pagerAdapter.getCount();
}
selection = viewPager.getCurrentItem() % itemCount;
checkItemCount();
}
viewPager.addOnPageChangeListener(this);
}
@Override
public void onPageSelected(int i) {
if (viewPager != null) {
PagerAdapter pagerAdapter = viewPager.getAdapter();
if (pagerAdapter != null) {
selection = viewPager.getCurrentItem() % itemCount;
}
}
postInvalidate();
}