5

データベースには 5000 ほどの名前があります。これらすべての名前を ListView に膨らませたいと思います。次の要素を持つもの

  1. アイコン画像 (Drawables にローカルに保存されます)
  2. 名前
  3. 距離 (km)

次のような検索フィルタリングを使用して、この listView をフィルタリングしています。

adapter.getFilter().filter(someText);

リストビューも並べ替えています。たとえば、listView 名をアルファベット順に並べ替えています (AZ と ZA)。並べ替えは、次のように listView アダプターで行われます。

adapter.sort(new Comparator<String>() {

                @Override
                public int compare(String lhs, String rhs) {
                    return lhs.getPlaceName().compareTo(rhs.getPlaceName());
                };
            });

アダプターのパフォーマンスを考慮して、リストビューへの名前の遅延読み込みを使用するかどうか(5000以上の名前があるため)、かなり混乱しています。提案してください。

4

1 に答える 1

2

または、データをソートしてデータベースに保存し、遅延読み込みを適用することもできます。@Singularity によって提案されたアプローチは非常に優れていますが、データ全体ではなく、[100 個の] チャンクのみをソートすることになる可能性があるためです。また、それらのチャンクごとにソートを行う必要があります。

于 2013-01-08T07:45:49.803 に答える