我想在自定義ListAdapter中實現分頁。現在我只是在ListView中的最後一項變爲可見時提出下一頁的請求,方法是檢查getView()
是否position
是>=
的大小ListAdapter.getCount()
。ListView/ListAdapter分頁
它工作正常,但我想知道是否有更好的方式(或不同的方式)只會在列表中的最後一項對用戶可見時才發出請求。任何人都知道一種方式?
我想在自定義ListAdapter中實現分頁。現在我只是在ListView中的最後一項變爲可見時提出下一頁的請求,方法是檢查getView()
是否position
是>=
的大小ListAdapter.getCount()
。ListView/ListAdapter分頁
它工作正常,但我想知道是否有更好的方式(或不同的方式)只會在列表中的最後一項對用戶可見時才發出請求。任何人都知道一種方式?
我做它幾乎相同的方式:
public static final int SCROLLING_OFFSET = 5;
// ...
private final ArrayList<T> items = new ArrayList<T>();
// ...
if (SCROLLING_OFFSET == items.size() - position) {
if (hasNextPage()) {
addNextPage();
}
}
private boolean hasNextPage() {
// basically calculates whether the last 2 pages contained the same # of items
}
private void addNextPage() {
// show spinner
// fetch next page in a background thread
// add to items
notifyDataSetChanged();
}
嘗試徹底刪除檢查。根據我的經驗,getView()僅在條目即將出現在屏幕上時調用。
我認爲這是一個更好的方式來做到這一點。實現OnScrollListener
接口。看看這個:Endless Scrolling ListView
不知道你的意思。檢查必須在那裏,否則它會每行都分頁? – synic 2010-04-11 23:02:50
請更詳細地描述它。 – OneWorld 2010-09-14 13:50:41