2
我想创建与粘节头和一个浮动的操作按钮列表视图。如何几个滚动监听绑定在一个ListView?
我用2个库本(StickyListHeaders和FloatingActionButton),但他们需要滚动监听器绑定到ListView来的作品。问题是在listview上只能有一个滚动监听器。
我怎么能使用2滚动监听器列表视图?
我想创建与粘节头和一个浮动的操作按钮列表视图。如何几个滚动监听绑定在一个ListView?
我用2个库本(StickyListHeaders和FloatingActionButton),但他们需要滚动监听器绑定到ListView来的作品。问题是在listview上只能有一个滚动监听器。
我怎么能使用2滚动监听器列表视图?
结合滚动听众的名单,使只有一个监听器,通知所有的人都非常简单的解决您的请求。
注意:如果您计划从MultiScrollListener
覆盖从OnScrollListener
方法,确保你一个super
电话
import android.widget.AbsListView;
import java.util.ArrayList;
import java.util.List;
/**
* Created by nikola on 9/12/14.
*/
public class MultiScrollListener implements AbsListView.OnScrollListener {
List<AbsListView.OnScrollListener> mListeners = new ArrayList<AbsListView.OnScrollListener>();
public void addScrollListener(AbsListView.OnScrollListener listener){
mListeners.add(listener);
}
public void removeListener(AbsListView.OnScrollListener listener){
mListeners.remove(listener);
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
for(AbsListView.OnScrollListener listener: mListeners){
listener.onScrollStateChanged(view,scrollState);
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
for(AbsListView.OnScrollListener listener: mListeners){
listener.onScroll(view, firstVisibleItem, visibleItemCount, totalItemCount);
}
}
}
用法:
MultiScrollListener scrolls = new MultiScrollListener();
scrolls.addScrollListener(scroll1);
scrolls.addScrollListener(scroll2);
mListView.setOnScrollListener(scrolls);
使用监听器的同一实例两个 – tyczj 2014-09-12 15:14:38
你还可以在收听 – Blackbelt 2014-09-12 15:20:26
的顶部实现一个观察者@tyczj我不能使用监听器的相同instanace。 StickyHeader也有它自己的监听器和floatingActionButton。 – Patrick 2014-09-12 15:27:54