listview下拉自动加载,接口实现

来源:互联网 发布:淘宝网货架 编辑:程序博客网 时间:2024/06/16 05:03
public class NewsListView extends ListView {// 下拉更多视图private View lastMoreView;//最后一个item postionprivate int lastItem;//listview item数目private int itemSize;//滑动到底部事件private ScrollLastView sv;//indexprivate int index;public NewsListView(Context context, View lastMoreView, int index) {super(context);// TODO Auto-generated constructor stubthis.index = index;this.lastMoreView = lastMoreView;// 添加加载更多视图this.addFooterView(this.lastMoreView);// 隐藏尾部更多视图this.lastMoreView.setVisibility(View.GONE);this.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {itemSize = NewsListView.this.getAdapter().getCount() - 1;//System.out.println("itemSize:" + itemSize + " lastItem:" + lastItem);// 下拉到底部时,且最后一个item的数等于数据的总数时,进行更新if (lastItem == itemSize && scrollState == OnScrollListener.SCROLL_STATE_IDLE) {//下拉到尾部操作代码sv.scrollMethod();}}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {lastItem = firstVisibleItem + visibleItemCount - 1;}});}public void setScrollMethod(ScrollLastView sv) {this.sv = sv;}public interface ScrollLastView {public void scrollMethod();}public View getLastMoreView() {return this.lastMoreView;}public int getIndex() {return index;}}

调用,直接set下拉到底部的接口事件就可以,在里面加入加载下一页的代码

listview.setScrollMethod(new ScrollLastView() {@Overridepublic void scrollMethod() {});

0 0
原创粉丝点击