Android中保存并设置ListView位置

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) {
	}
});


你可能感兴趣的:(Android)