ListView与图像和文本的正确编码方法?

时间:2012-10-17 17:30:48

标签: android listview adapter simpleadapter custom-adapter

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

有些人可以帮助我了解下面提到的哪种方法对性能更好。

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

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

  1. 列表视图的每一行的HashMap。
  2. 的ArrayList>它保存了(a)
  3. 中的每个HashMaps
  4. SimpleAdapter(Context,List>,int,String [],int [])
  5. (我必须说我必须做额外的迭代才能明智地对列表文件夹/文件进行排序,然后在文件夹和文件中按字母顺序排序。我进行了很长的排序,没有使用比较器)

    我的代码接近here

    案例III * 或者,有没有比上述两种方法更好的东西?

    感谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我个人会创建自己的适配器并覆盖getView方法。原因是你将获得更好的灵活性和对你可以用这个课程做什么的控制。例如,如果您更改数据结构,则使用它来备份数据将很容易处理。你最终可能想要做一些算法,你依赖缓存文件夹的内容一段时间,使用SimpleAdapter这样做会更困难。 SimpleAdapter为您节省了几行代码,您需要在getView中编写这些代码,但总的来说,我并不认为它会真正帮助您。有些事情你应该确保尽快使你的列表视图快速,例如使用视图。