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,重新开始,也就是说永远不会走最后一项