在項目中常用到listView控件,當想記錄滾動中止時的記錄,當點擊加載新的數據,從記錄的位置開始顯示的操做怎麼實現尼?分爲以下步驟java
1.記錄位置代碼ide
[java] view plaincopyspa
//聲明記錄中止滾動時候,可見的位置 .net
private int stop_position; blog
[java] view plaincopyget
@Override it
public void onScrollStateChanged(AbsListView view, int scrollState) { io
// TODO Auto-generated method stub ast
// 判斷是不是最後一行,而且中止滾動 List
if (isLastRow && scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
//獲取可見位置
stop_position = lv_categories.getFirstVisiblePosition();
// 判斷是不是最後一頁
if (pageInfo.getNowPage() != pageInfo.getCountPage()) {
// 查詢下一頁數據
categoryManager.queryObjects(pageInfo.getNowPage() + 1);
}
// 記得把標識改成false
isLastRow = false;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if ((firstVisibleItem + visibleItemCount) >= totalItemCount) {
isLastRow = true;
}
}
2.從新開始位置
[java] view plaincopy
// 設置listView控件的適配器
lv_categories.setAdapter(adapter);
//設置listView開始的可見位置
lv_categories.setSelection(stop_position);