android.widget.AbsListView.OnScrollListener

Here are the examples of the java api class android.widget.AbsListView.OnScrollListener taken from open source projects.

1. ViewRecorderSDK#handleOnScrollListener()

Project: Cafe
File: ViewRecorderSDK.java
private void handleOnScrollListener(AbsListView absListView) {
    OnScrollListener onScrollListener = (OnScrollListener) getListener(absListView, "mOnScrollListener");
    // has hooked listener
    if (onScrollListener != null && mAllListenerHashcodes.contains(onScrollListener.hashCode())) {
        return;
    }
    mAbsListViewStates.put(getViewID(absListView), new AbsListViewState());
    if (null != onScrollListener) {
        hookOnScrollListener(absListView, onScrollListener);
    } else {
        printLog("set onScrollListener [" + absListView + "]");
        OnScrollListener onScrollListenerHooked = new OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                setOnScrollStateChanged(view, scrollState);
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                setOnScroll(view, firstVisibleItem, visibleItemCount, totalItemCount);
            }
        };
        setListener(absListView, "mOnScrollListener", onScrollListenerHooked);
    }
    // save hashcode of hooked listener
    OnScrollListener onScrollListenerHooked = (OnScrollListener) getListener(absListView, "mOnScrollListener");
    if (onScrollListenerHooked != null) {
        mAllListenerHashcodes.add(onScrollListenerHooked.hashCode());
    }
}

2. ViewRecorder#handleOnScrollListener()

Project: Cafe
File: ViewRecorder.java
private void handleOnScrollListener(AbsListView absListView) {
    OnScrollListener onScrollListener = (OnScrollListener) getListener(absListView, "mOnScrollListener");
    // has hooked listener
    if (onScrollListener != null && mAllListenerHashcodes.contains(onScrollListener.hashCode())) {
        return;
    }
    mAbsListViewStates.put(getViewID(absListView), new AbsListViewState());
    if (null != onScrollListener) {
        hookOnScrollListener(absListView, onScrollListener);
    } else {
        printLog("set onScrollListener [" + absListView + "]");
        OnScrollListener onScrollListenerHooked = new OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                setOnScrollStateChanged(view, scrollState);
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                setOnScroll(view, firstVisibleItem, visibleItemCount, totalItemCount);
            }
        };
        setListener(absListView, "mOnScrollListener", onScrollListenerHooked);
    }
    // save hashcode of hooked listener
    OnScrollListener onScrollListenerHooked = (OnScrollListener) getListener(absListView, "mOnScrollListener");
    if (onScrollListenerHooked != null) {
        mAllListenerHashcodes.add(onScrollListenerHooked.hashCode());
    }
}

3. ViewRecorderSDK#hookOnScrollListener()

Project: Cafe
File: ViewRecorderSDK.java
private void hookOnScrollListener(final AbsListView absListView, final OnScrollListener onScrollListener) {
    printLog("hook onScrollListener [" + absListView + "] [" + onScrollListener.hashCode() + "]");
    // save old listener
    mOnScrollListeners.put(getViewID(absListView), onScrollListener);
    // mOnScrollListeners.put(String.valueOf(absListView.hashCode()),
    // onScrollListener);
    // set hook listener
    final OnScrollListener onScrollListenernew = new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            setOnScrollStateChanged(view, scrollState);
            OnScrollListener onScrollListener = mOnScrollListeners.get(getViewID(view));
            OnScrollListener onScrollListenerHooked = (OnScrollListener) getListener(view, "mOnScrollListener");
            if (onScrollListener != null) {
                // TODO It's a bug. It can not be fix by below.
                if (onScrollListener.equals(onScrollListenerHooked)) {
                    printLog("onScrollListenerHooked == onScrollListener!!!");
                    return;
                }
                onScrollListener.onScrollStateChanged(view, scrollState);
            } else {
                printLog("onScrollListener == null ");
            }
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            setOnScroll(view, firstVisibleItem, visibleItemCount, totalItemCount);
            OnScrollListener onScrollListener = mOnScrollListeners.get(String.valueOf(view.hashCode()));
            OnScrollListener onScrollListenerHooked = (OnScrollListener) getListener(view, "mOnScrollListener");
            if (onScrollListener != null) {
                // TODO It's a bug. It can not be fix by below.
                if (onScrollListener.equals(onScrollListenerHooked)) {
                    printLog("onScrollListenerHooked == onScrollListener!!!");
                    return;
                }
                onScrollListener.onScroll(view, firstVisibleItem, visibleItemCount, totalItemCount);
            } else {
                printLog("onScrollListener == null ");
            }
        }
    };
    absListView.post(new Runnable() {

        public void run() {
            absListView.setOnScrollListener(onScrollListenernew);
        }
    });
}

4. ViewRecorder#hookOnScrollListener()

Project: Cafe
File: ViewRecorder.java
private void hookOnScrollListener(final AbsListView absListView, final OnScrollListener onScrollListener) {
    printLog("hook onScrollListener [" + absListView + "]");
    // save old listener
    mOnScrollListeners.put(getViewID(absListView), onScrollListener);
    //        mOnScrollListeners.put(String.valueOf(absListView.hashCode()), onScrollListener);
    // set hook listener
    final OnScrollListener onScrollListenernew = new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            setOnScrollStateChanged(view, scrollState);
            OnScrollListener onScrollListener = mOnScrollListeners.get(getViewID(view));
            OnScrollListener onScrollListenerHooked = (OnScrollListener) getListener(view, "mOnScrollListener");
            if (onScrollListener != null) {
                // TODO It's a bug. It can not be fix by below.
                if (onScrollListener.equals(onScrollListenerHooked)) {
                    printLog("onScrollListenerHooked == onScrollListener!!!");
                    return;
                }
                onScrollListener.onScrollStateChanged(view, scrollState);
            } else {
                printLog("onScrollListener == null " + Log.getThreadInfo());
            }
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            setOnScroll(view, firstVisibleItem, visibleItemCount, totalItemCount);
            OnScrollListener onScrollListener = mOnScrollListeners.get(String.valueOf(view.hashCode()));
            OnScrollListener onScrollListenerHooked = (OnScrollListener) getListener(view, "mOnScrollListener");
            if (onScrollListener != null) {
                // TODO It's a bug. It can not be fix by below.
                if (onScrollListener.equals(onScrollListenerHooked)) {
                    printLog("onScrollListenerHooked == onScrollListener!!!");
                    return;
                }
                onScrollListener.onScroll(view, firstVisibleItem, visibleItemCount, totalItemCount);
            } else {
                printLog("onScrollListener == null " + Log.getThreadInfo());
            }
        }
    };
    local.runOnMainSync(new Runnable() {

        @Override
        public void run() {
            absListView.setOnScrollListener(onScrollListenernew);
        }
    });
}

5. ScrollAnimatorTest#shouldNotifyAdditionalScrollListenerOnScrollStateChanged()

Project: ButtonMenu
File: ScrollAnimatorTest.java
@Test
public void shouldNotifyAdditionalScrollListenerOnScrollStateChanged() {
    OnScrollListener mockedScrollListener = mock(OnScrollListener.class);
    scrollAnimator.setAdditionalScrollListener(mockedScrollListener);
    scrollAnimator.configureListView(listView);
    doAnyScrollAction();
    verify(mockedScrollListener).onScrollStateChanged(listView, ANY_SCROLL_ACTION);
}

6. ScrollAnimatorTest#shouldNotifyAdditionalScrollListenerOnScroll()

Project: ButtonMenu
File: ScrollAnimatorTest.java
@Test
public void shouldNotifyAdditionalScrollListenerOnScroll() {
    OnScrollListener mockedScrollListener = mock(OnScrollListener.class);
    scrollAnimator.setAdditionalScrollListener(mockedScrollListener);
    scrollAnimator.configureListView(listView);
    scrollToAnyPosition(ANY_FIRST_VISIBLE_ITEM, ANY_VISIBLE_ITEM_COUNT, TOTAL_ITEM_COUNT);
    verify(mockedScrollListener).onScroll(listView, ANY_FIRST_VISIBLE_ITEM, ANY_VISIBLE_ITEM_COUNT, TOTAL_ITEM_COUNT);
}

7. Common#shouldDelay()

Project: BeeFramework_Android
File: Common.java
public static boolean shouldDelay(int groupPosition, int childPosition, View convertView, ViewGroup parent, String url) {
    if (url == null || BitmapAjaxCallback.isMemoryCached(url)) {
        return false;
    }
    AbsListView lv = (AbsListView) parent;
    OnScrollListener sl = (OnScrollListener) parent.getTag(AQuery.TAG_SCROLL_LISTENER);
    if (sl == null) {
        sl = new Common();
        lv.setOnScrollListener(sl);
        parent.setTag(AQuery.TAG_SCROLL_LISTENER, sl);
    }
    Integer scrollState = (Integer) lv.getTag(AQuery.TAG_NUM);
    if (scrollState == null || scrollState == OnScrollListener.SCROLL_STATE_IDLE || scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
        return false;
    }
    long packed = childPosition;
    if (parent instanceof ExpandableListView) {
        packed = ExpandableListView.getPackedPositionForChild(groupPosition, childPosition);
    }
    convertView.setTag(AQuery.TAG_NUM, packed);
    return true;
}