私のアプリケーションでは、WebサービスからXML形式でデータをフェッチし、それを解析してリストビューにデータを表示しています。問題は、Webサービスに5000個のオブジェクトが含まれている場合、データの表示に時間がかかることです。
リストビューにいくつかのデータを表示し、リストの最後で同時にデータをフェッチすることは可能ですか?
サンプルコードを教えてください。
私のアプリケーションでは、WebサービスからXML形式でデータをフェッチし、それを解析してリストビューにデータを表示しています。問題は、Webサービスに5000個のオブジェクトが含まれている場合、データの表示に時間がかかることです。
リストビューにいくつかのデータを表示し、リストの最後で同時にデータをフェッチすることは可能ですか?
サンプルコードを教えてください。
AsyncTask を使用すると、フェッチされている各オブジェクトを publishProgress() メソッドを使用してリストビューに表示しながら、ロードされたデータの割合についてユーザーを更新できるため、これを簡単に行うことができます。
アップデート:
ちなみに、あなたの状況に応じて、commonsware https://stackoverflow.com/users/115145/commonswareによって開発された以下のツールが最適です...
https://github.com/commonsguy/cwac-endless
cwac-endless: EndlessAdapter を提供します。これは、「エンドレス リスト」機能を追加する既存の ListAdapter のラッパーです。ユーザーがリストの一番下までスクロールすると、このリストに取得するデータが他にもある場合、バックグラウンド スレッドでコードが呼び出されて新しい行がフェッチされ、リストの一番下にシームレスに追加されます。
ListAdapter の getView メソッドで convertView を使用する場合、ビューが再利用されるため、リスト内にいくつの項目があるかは問題ではありません。
Listadapter が som ソートの配列を取る場合、配列にアイテムを継続的に追加して呼び出すことができます
mListAdapter.notifyDataSetChanged();
新しいデータがリストに追加されるたびに。