各行が作成したオブジェクトであるlistViewを正常に実装しました。いくつかのオブジェクトを読み取り、それらの配列を返すインターフェイスがあり、それをアダプターコンストラクターに渡します。私がやりたいのは、リストが非常に長い可能性があるため、私のインターフェースはさらにアイテム(ページ0、ページ1 ...)を読み取るたびに許可するため、ユーザーがリストの最後の行に到達したときに、次のページをロードして、listViewに挿入します。適切な方法は何ですか?私は実際に「リストの最後に到達する」コールバックをトリガーして、さらにページをリクエストしてリストにロードできるようにします。私の主な質問にビットOT、しかし、私はbaseAdapterを使用する気にしない、両方が機能するだろう、私はタスクのために何が良いかわからない。
LoadViewという名前のボタンを持つフッターをlistViewに追加できます。ここに完全なチュートリアルがあります [さらに読み込む]ボタンのあるListView または、onscrolllistener()を実装して、このリスナーをListViewに追加できます
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
this.currentFirstVisibleItem = firstVisibleItem;
this.currentVisibleItemCount = visibleItemCount;
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
this.currentScrollState = scrollState;
this.isScrollCompleted();
}
private void isScrollCompleted() {
if (this.currentVisibleItemCount > 0 && this.currentScrollState == SCROLL_STATE_IDLE) {
/*** In this way I detect if there's been a scroll which has completed ***/
/*** do the work for load more date! ***/
if(!isLoading){
isLoading = true;
loadMoreData();
}
}
}
それが役立つことを願っています