2016-09-27 11 views
-5

私はListViewを使用して、Arrayadapterを使用して外部サーバからたくさんのデータをロードしました。しかし、問題は読み込みに時間がかかることです。スクロールしてサーバーからデータをロードする方法はありますか?親切に私にアドバイスしてください。Android ListViewサーバからさらにデータをロード

ありがとうございます。

+0

あなたのサーバは、ページネーションのためのメカニズムを提供する必要があります。それから、あなたのアプリケーションに実装する必要があります。あなたは、しかし、詳細を与えるためにあなたのコードとサーバーに関する情報を残しました –

+1

質問を投稿する前にStackOverflowの質問をチェックしてください。 [this]の可能な複製(http://stackoverflow.com/questions/5065339/android-dynamically-load-listview-at-scroll-end)。 –

+0

はい。色々ありがとう 。 – sathivel

答えて

0

はい、ただし、クライアント側とサーバー側の両方から実装の変更が必要です。 1つのオフセットを定義する必要があります。これは25と仮定します。つまり、最初のサーバー呼び出しで一度に25個のアイテムが取得され、アダプターにロードされます。

スクロールを開始して15番目のアイテムに到達しました。この時点でもう一度オフセット50でサーバーを呼び出す必要があります。その結果、次の25個のアイテムがサーバーからフェッチされてから追加されます前のリストに追加します。これは全部をいいます。今度は15 + 25 = 40番目のアイテムに達したときにサーバーコールを行う必要があります。そしてこれは続く。

パフォーマンスをさらに向上させるには、数百のデータがある場合は、上にスクロールするときに逆にする必要があります。つまり、スクロールダウン中に100番目のアイテムに達したとします。これはリストビューアのアダプタに100以上のアイテムがあることを意味します。この時点でリストの一番上のスロットからアイテムを削除する必要があります。あなたが上にスクロールするとき。

あなたが本当にあなたのリストに多くのアイテムを持っていて、リストビューのアイテムさえも重い場合は、これらすべてを行う必要があります。

+0

こんにちは、ありがとうございました。私はページ分割メソッドを実装しています。 – sathivel

関連する問題