使用ConvenientBanner时页面第一次显示总会显示最后一页

Posted 疯狂小芋头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ConvenientBanner时页面第一次显示总会显示最后一页相关的知识,希望对你有一定的参考价值。

问题:

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的,所以也就没有人遇到这个问题.

以上是关于使用ConvenientBanner时页面第一次显示总会显示最后一页的主要内容,如果未能解决你的问题,请参考以下文章

翻翻git之---效果鲜明的类ViewPager库 ConvenientBanner(对图片载入部分进行改动)

配置ConvenientBanner时出现的问题

轮播图ConvenientBanner

轮播图ConvenientBanner

轮播图ConvenientBanner

轮播图ConvenientBanner