Gio*_*cci 2 android listview scroll android-listview
我必须为子类实现一种分页ListView.当用户向下滚动列表时,滚动结束并且他查看最后一行,我必须请求下一页数据,如果有的话.向上滚动/第一行/上一页同样的事情.
public class ContactList extends ListView implements OnGestureListener {
GestureDetector gestureDetector;
public ContactList(Context context) {
super(context);
gestureDetector = new GestureDetector(this);
}
//Other ctors here...
}
Run Code Online (Sandbox Code Playgroud)
然后我将一个GestureDetector附加到ListView,转发给它所有的触摸.
public boolean onTouchEvent(MotionEvent ev) {
return gestureDetector.onTouchEvent(ev);
}
Run Code Online (Sandbox Code Playgroud)
在我的OnGestureListener.onScroll()第一行/最后一行是否可以使用getFirst/LastVisiblePosition()?
也许在滚动发生之前调用此方法?
感谢您的任何帮助.
我认为您需要OnScrollListener为ListView 设置并从onScroll回调中收集位置:
setOnScrollListener(new OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// You cat determine first and last visible items here
// final int lastVisibleItem = firstVisibleItem + visibleItemCount - 1;
}
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud)