有没有办法以这样的方式配置ListView,它总是在屏幕上显示列表的顶部元素? 换句话说,每当列表停止滚动时,它应该继续向上或向下滚动,直到顶部的元素完全显示。
答案 0 :(得分:0)
这解决了这个问题。
setOnScrollListener(new OnScrollListener() {
boolean touched = false;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(scrollState == SCROLL_STATE_TOUCH_SCROLL){
touched = true;
}else if(scrollState == SCROLL_STATE_IDLE && touched){
touched = false;
ListViewWithSwipe.this.post(new Runnable() {
@Override
public void run() {
smoothScrollToPosition(getFirstVisiblePosition());
}
});
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});