1、ListView.getScrollY() 這個一般一直是0,所以不能用這個方法。
2、ListView.getLocationOnScreen()或者ListView.getLocationInWindow() 這兩個方法是可以的。
/**
* 滾動狀態改變時調用
*/
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// 不滾動時保存當前滾動到的位置
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
int pos[] = { -1, -1 }; //保存當前座標的數組x,y
position = view.getLocationOnScreen(pos);
}
}
ListView.scrollTo(x,y); // 恢復剛纔的位置
3、ListView.getFirstVisiblePosition()這個是得到可見Item位置的。
/**
* 滾動狀態改變時調用
*/
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// 不滾動時保存當前滾動到的位置
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
position = view.getFirstVisiblePosition();
}
}
ListView.setSelection(position); // 恢復剛纔的位置
ListView如何滾動和恢復到某個位置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.