我有两个方法从database
读取相同的数据,第一个返回Cursor
,第二个返回List
个对象。现在我使用{{1和第一个方法一样,我也可以使用第二个方法和适当的适配器。
这两种方式中哪一种更好用,第二种方式应该使用哪种适配器?
对不起英语不好
答案 0 :(得分:2)
绝对选择SimpleCursorAdapter
。如果可能,请始终使用Cursor
如果您的数据来自database
,则可以通过不创建List
个对象来节省内存。在时间和内存消耗方面,使用Java创建对象的成本很高,您必须牢记您在资源有限的移动平台上。如果您使用List
ListView
个对象,请使用从ArrayAdapter
扩展的自定义适配器。
虽然您的数据来自Cursor
,但使用database
并不总是直截了当的。假设您将地点存储在由其名称和位置定义的database
中,并且您希望将其显示在距离当前位置的距离排序的ListView
中。除非您不在相邻列中存储相对距离,否则很难执行返回排序结果的查询。但是,您可以Cursor
将其转换为List
个对象,并在将此集合发送到ListView
之前对其进行排序。