MZBannerView
MZBannerView copied to clipboard
ViewPager展示不了data中的最后一个item内容
private final Runnable mLoopRunnable = new Runnable() {
@Override
public void run() {
if(mIsAutoPlay){
mCurrentItem = mViewPager.getCurrentItem();
mCurrentItem++;
if(mCurrentItem == mAdapter.getCount() - 1){
mCurrentItem = 0;
mViewPager.setCurrentItem(mCurrentItem,false);
mHandler.postDelayed(this,mDelayedTime);
}else{
mViewPager.setCurrentItem(mCurrentItem);
mHandler.postDelayed(this,mDelayedTime);
}
}else{
mHandler.postDelayed(this,mDelayedTime);
}
}
};
中的 if(mCurrentItem == mAdapter.getCount() - 1)
这样写永远不会设置最后一项item给viewPager,应改为 if(mCurrentItem == mAdapter.getCount())
最后一个Item就是mAdapter.getCount() - 1 啊
@pinguo-zhouwei mCurrentItem++
后与mAdapter.getCount() - 1
比较,当mCurrentItem
为倒数第二个时,自增后的mCurrentItem
结果是mAdapter.getCount() - 1
,再与mAdapter.getCount() - 1
比较肯定相等,此时会走mCurrentItem = 0
,重新开始,也就是说永远不会走最后一项