* [android] using independent Handler to handle auto scroll
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/99870708 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/99870708 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/99870708 Branch: refs/heads/0.16-dev Commit: 998707085d749b2dc0289650c29d665396276c27 Parents: 7606dc7 Author: misakuo <misa...@apache.org> Authored: Tue Aug 15 14:42:59 2017 +0800 Committer: misakuo <misa...@apache.org> Committed: Tue Aug 15 14:42:59 2017 +0800 ---------------------------------------------------------------------- .../com/taobao/weex/ui/view/WXCircleViewPager.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/99870708/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java index 160dcb1..f01702e 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java @@ -20,6 +20,8 @@ package com.taobao.weex.ui.view; import android.annotation.SuppressLint; import android.content.Context; +import android.os.Handler; +import android.os.Looper; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.util.AttributeSet; @@ -46,6 +48,7 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable private boolean needLoop = true; private boolean scrollable = true; private int mState = ViewPager.SCROLL_STATE_IDLE; + private Handler mAutoScrollHandler; private Runnable scrollAction = new ScrollAction(this); @@ -56,6 +59,8 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable } private void init() { + mAutoScrollHandler = new Handler(Looper.getMainLooper()); + setOverScrollMode(View.OVER_SCROLL_NEVER); addOnPageChangeListener(new OnPageChangeListener() { @@ -149,12 +154,12 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable */ public void startAutoScroll() { isAutoScroll = true; - removeCallbacks(scrollAction); - postDelayed(scrollAction, intervalTime); + mAutoScrollHandler.removeCallbacks(scrollAction); + mAutoScrollHandler.postDelayed(scrollAction, intervalTime); } public void pauseAutoScroll(){ - removeCallbacks(scrollAction); + mAutoScrollHandler.removeCallbacks(scrollAction); } /** @@ -162,7 +167,7 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable */ public void stopAutoScroll() { isAutoScroll = false; - removeCallbacks(scrollAction); + mAutoScrollHandler.removeCallbacks(scrollAction); } public boolean isAutoScroll() {