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) {
- }
- });
转自:http://blog.csdn.net/zuolongsnail/article/details/8583193