私はAndroid上で簡単な無限スクロールGridViewを実装しました。Androidの無限スクロールグリッド、アダプタが無期限に拡張する必要がありますか?
- GridViewのは非常に下にスクロールされるたびにonScrollListener、とGridViewのは、私は私のアダプターに複数のアイテムをロードするためのAsyncTaskをキックオフ:私は、次のコンポーネントがあります。
- AsyncTaskからフェッチされた項目を追加し、NotifyDataChanged()を起動してGridView自体をリフレッシュできるようにするアダプタ。
これは、アダプタが無期限に成長している場合を除いて、うまくいくようです...ユーザーが最後までスクロールするたびにこのアダプタにアイテムを追加し続けることになります。これはメモリの問題です。
エンドレスアダプターを実装する適切な方法は何ですか?私はコンセプトを探しています。サードパーティ製の瓶ではありません。
ソリューション
おかげでマーク答えは右の理論を持っています。私の実装では、ロードされたデータをsqlliteデータベースにバックアップするので、全体的な流れは次のとおりです。インターネットからのデータをスレッドでダウンロードし、解析してスレッドにデータベースに格納し、UIスレッドでnotifyDataChangedを発生させます。
アダプターのgetCount()メソッドは、単にデータベースからselect count(id)を実行し、データベースからメモリー内に一度にオブジェクトのバッチを取り出して、アダプターが使用するようにします。
hi。任意のチャンスでこの問題を解決し、いくつかのコードを投稿できますか? – OWADVL
はい、私は* solution * – Chao