標籤:
在項目中經常使用到listView控制項,當想記錄滾動停止時的記錄,當點擊載入新的資料,從屬記錄的位置開始顯示的操作怎麼實現尼?分為如下步驟
1.記錄位置代碼
[java] view plaincopy
//聲明記錄停止滾動時候,可見的位置
private int stop_position;
[java] view plaincopy
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
// 判斷是否是最後一行,並且停止滾動
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);
android項目中記錄ListView滾動停止位置與設定顯示位置