我找不到任何关于此的可靠信息,所以在这里;
我在SQLite
array adapter
中使用来自view
db的信息来显示/隐藏Array list
。 view
数据来自文件系统,并根据用户的选择显示或隐藏行中的getView
。所以,在我adapter
的{{1}}我打开连接,query db
为array item
,如果它在数据库中我显示一个视图,然后关闭数据库连接。
这是正确的方法吗?感觉就像打开和关闭一样,特别是如果数组列表中有很多项目。我可以在适配器的公共构造函数上打开连接,但是然后我会在哪里关闭它?
有什么建议吗?
答案 0 :(得分:0)
为了避免这么多地打开和关闭数据库,您应该将从数据库查询中检索到的对象存储在内存中,然后将该对象集合附加到适配器。然后,每次调用getView时都不要查询数据库,而应该检查查询结果列表。
总而言之,一次查询数据库对象,将它们存储在内存中的集合中(作为java ArrayList或其他东西),然后在getView中引用ArrayList。