获取listview滚动状态
// save index and top position
int index = listView.getFirstVisiblePosition();
View v = listView.getChildAt(0);
int top = (v == null) ? 0 : (v.getTop() - listView.getPaddingTop());
outState.putInt("listView" + mIndex + "scrollY", top);
outState.putInt("listView" + mIndex + "lastPosition", index);
还原滚动状态
// restore index and position
listView.setSelectionFromTop(
savedInstanceState.getInt("listView" + mIndex + "lastPosition"),
savedInstanceState.getInt("listView" + mIndex + "scrollY"));