1

问题来自我为应用程序创建文件资源管理器功能的方式(我的第一个)。

你们中的一些人能否帮助我知道下面提到的哪种方法相对于性能更好。

案例 I - 有一种方法建议覆盖 getView() 方法。就像这里给出的一样。

案例 II - 我使用了另一种方法,在我的适配器类中有一个自定义方法(不是 getView)

  1. 列表视图的每一行的 HashMap。
  2. ArrayList> 包含来自 (a) 的每个 HashMap
  3. SimpleAdapter(上下文, List>, int, String[], int[])

(我必须说我必须做额外的迭代来对列表文件夹/文件进行排序,然后在文件夹和文件中按字母顺序排序。我进行了很长的排序,没有使用比较器)

我的代码接近这里给出的

案例 III*或者,有什么比上述两种方法更好的方法吗?

谢谢。

4

2 回答 2

0

只需扩展 ArrayAdapter 并覆盖 getView()。使用 ViewHolder 模式可以提高效率。它比案例 2 中提出的要简单得多,而且我认为案例 2 不允许使用图像。

于 2012-10-17T17:46:52.897 回答
0

就我个人而言,我会创建自己的适配器并覆盖 getView 方法。原因是您将获得更好的灵活性并控制您可以在课堂上做什么。例如,如果您更改用于支持数据的数据结构,它将很容易处理。您最终可能想要执行某种算法,在该算法中您依赖缓存文件夹的内容一段时间,而使用 SimpleAdapter 这样做会更加困难。SimpleAdapter 为您节省了几行代码,您需要在 getView 中编写这些代码,但总的来说,我认为它不会对您有太大帮助。您应该确保执行某些操作以使您的列表视图快速运行,例如使用查看器。

于 2012-10-17T17:48:29.343 回答