だから、私は好きなポッドキャストの RSS フィードを解析しています。約 100 個のタグがあり<item>
、解析した各タグをログに記録すると、それらがすべて適切に解析されていることがわかります。
ただし、のを使用ArrayAdapter
してリストを表示する最後の呼び出しがある場合、約 20 個のフィードしか取得できません。理由はわかりません。 onPostExecute
AsyncTask
すべてのフィード オブジェクトを格納する の初期化を 120 の初期サイズに変更しVector
ました。この場合、アプリは一緒に動作しなくなります。メモリ不足だと思います。
120 個のフィードをすべて確実に取得するにはどうすればよいですか??
熱心な読み込みではなく、フィードを遅延読み込みする方法があることはわかっています。スクロールを追跡するにはどうすればよいですか (方向、ロードするビューの数など)。
@Override
protected void onPostExecute(FeedProcessor p){
pDialog.dismiss();
ListView list = (ListView) getActivity().findViewById(R.id.expandingList);
if(p.errorOccured == false){
feeds = p.getFeeds(); // populate the list
ArrayAdapter<Feed> adapter = new ArrayAdapter<Feed>(getActivity(),
R.layout.list_row,
R.id.row,
feeds);
list.setAdapter(adapter);
}else{
Log.d("Error", "Error");
}
}
}