瀏覽代碼

Fix #284 create 方法内部自动循环bug

pan.zhang 2 年之前
父節點
當前提交
6bfe7f6915
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      bannerview/src/main/java/com/zhpan/bannerview/BannerViewPager.java

+ 3 - 3
bannerview/src/main/java/com/zhpan/bannerview/BannerViewPager.java

@@ -496,7 +496,7 @@ public class BannerViewPager<T> extends RelativeLayout implements LifecycleObser
    */
   public void startLoop() {
     if (!isLooping && isAutoPlay() && mBannerPagerAdapter != null &&
-        mBannerPagerAdapter.getListSize() > 1) {
+        mBannerPagerAdapter.getListSize() > 1 && isAttachedToWindow()) {
       mHandler.postDelayed(mRunnable, getInterval());
       isLooping = true;
     }
@@ -828,7 +828,7 @@ public class BannerViewPager<T> extends RelativeLayout implements LifecycleObser
    * refresh.
    */
   public void create() {
-    create(new ArrayList<T>());
+    create(new ArrayList<>());
   }
 
   /**
@@ -1056,7 +1056,7 @@ public class BannerViewPager<T> extends RelativeLayout implements LifecycleObser
 
   @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
   public void onResume() {
-    if (isAttachedToWindow() || !isStopLoopWhenDetachedFromWindow()) {
+    if (!isStopLoopWhenDetachedFromWindow()) {
       startLoop();
     }
   }