问题:
ConvenientBanner
是比较常用的和很多人使用的广告轮播的第三方控件.本身控件也是很好使用的.感谢作者先~~.
今天使用时发现一个问题.情况是这样的.使用其来显示启动界面(其实就是懒得自己去写个指示器),当然启动页这里是不要求可以循环切换,而且切换到最后一页后就要关闭然后进入程序了.
//设置的代码
ViewUtil.setBanner(mCbBanner, new SplashBannerCreator(), itemList);
mCbBanner.setCanLoop(false);
本身是没有任何问题的,但是发现了运行时显示界面时总会自己跳到最后一页,但是程序中使用的广告轮播没有任何问题!不会跳到第一页.我就奇了怪了.哪里错了?(此时setCurrentItem()
是无效的)
解决方案
通过一番的排查,发现一个奇怪的现象.当这种情况下设置时,是正常的.
//设置的代码
ViewUtil.setBanner(mCbBanner, new SplashBannerCreator(), itemList);
mCbBanner.setCanLoop(true);
但是一旦设置false
就出会出现上面的问题了.那么我就尝试了一下这样设置
mCbBanner.setCanLoop(true);
//设置的代码
ViewUtil.setBanner(mCbBanner, new SplashBannerCreator(), itemList);
mCbBanner.setCanLoop(false);
结果完全正常了,页面不再会显示时直接显示最后一页,现在是从第一页开始显示了.
感觉这应该是作者不小心没有注意的bug,而查了一下网上使用过的资料,基本上没有人会提到这个问题,可能是大部分都是用来显示轮播的广告都setCanLoop(true)
而没有一开始就设置为false
的,所以也就没有人遇到这个问题.