5

我在数据库中有 5000 个名字。我希望将所有这些名称膨胀到 ListView 上。其中有以下元素

  1. 图标图像(本地存储在 Drawables 中)
  2. 姓名
  3. 距离(公里)

我正在使用搜索过滤过滤此 listView,如下所示:

adapter.getFilter().filter(someText);

我也在对列表视图进行排序,例如:按字母顺序排列列表视图名称(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 回答