ListView是Android开发中最常用的控件之一,在开发会遇到记录ListView的位置这样的需求。
下面是保存并设置ListView位置的一种方法:
// 设置ListView到记录的位置mListView.setSelection(mPosition);mListView.setOnScrollListener(new OnScrollListener() { /** * 滚动状态改变时调用 */ @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // 不滚动时保存当前滚动到的位置 if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { mPosition = mListView.getFirstVisiblePosition(); } } /** * 滚动时调用 */ @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { }});