拖动到最底下的时候需要放手,然后重新再拖动一次才会显示正在加载的进度,可不可以一次拖拽出正在加载的footer_layout呢?
墨墨小样
2014-09-16
4 回答
要达到你的要求我觉得..只要复写onScroll,滚动满足最低端是直接显示footer加载就可以..
@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
this.lastVisibleItem=firstVisibleItem+visibleItemCount;//firstVisibleItem第一个可见的位置+visibleItemCount可见的数量=最后一个可见的位置
this.totalItemCount=totalItemCount;
if(lastVisibleItem==totalItemCount){
if(!isLoading){
isLoading=true;
loadListView.findViewById(R.id.load_layout).setVisibility(View.VISIBLE);
//加载数据
loadMoreListener.onLoad();
}
我把setVisibility设置为一滚动就显示,反正loadMoreComplelte调用时候会被隐藏掉,测试可以,不知道这样做好不好
@Override public void onScrollStateChanged(AbsListView view, int scrollState) { this.scrollState = scrollState; //显示正在加载进度条 footer.findViewById(R.id.load_layout).setVisibility(VISIBLE); //如果最后一个可见的item与总item相等,且拖动停止了,加载数据 if (totalItemCount == lastVisiableItem && scrollState == SCROLL_STATE_IDLE) { //加载底部数据 if (!isLoading) { isLoading = true; //加载数据 loadMoreListener.onLoad(); } } }
举报
0/150
提交
取消