package org.aisen.weibo.sina.ui.widget; import android.content.Context; import android.util.AttributeSet; import android.widget.AbsListView; import android.widget.ListView; import java.util.ArrayList; import java.util.List; /** * Created by wangdan on 16/2/2. */ public class MultiScrollListView extends ListView implements AbsListView.OnScrollListener { private List<OnScrollListener> onScrollListeners; public MultiScrollListView(Context context) { super(context); } public MultiScrollListView(Context context, AttributeSet attrs) { super(context, attrs); } public MultiScrollListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public void setOnScrollListener(OnScrollListener l) { super.setOnScrollListener(this); if (onScrollListeners == null) { onScrollListeners = new ArrayList<>(); } if (!onScrollListeners.contains(l)) { onScrollListeners.add(l); } } @Override public void onScrollStateChanged(AbsListView view, int scrollState) { for (OnScrollListener onScrollListener : onScrollListeners) { onScrollListener.onScrollStateChanged(view, scrollState); } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { for (OnScrollListener onScrollListener : onScrollListeners) { onScrollListener.onScroll(view, firstVisibleItem, visibleItemCount, totalItemCount); } } }