android - 从列表适配器访问数据库

标签 android listview android-listview android-sqlite android-adapter

我有一个 ListView ,其中包含我从网络上获得的一些数据。现在我可以在列表项中进行更改,一旦对项进行更改,我就会将更新后的值存储在数据库中。当我下次登录该应用程序时,我将从网络下载内容并将其显示在 ListView 中,并包含我上次所做的更改。所以我的方法是,我在列表适配器的 getview 方法中查询数据库中的每个项目以检查更改。对适配器的每个项目的 getview 方法进行数据库查询是一个好习惯吗?如果没有,请建议我一些替代方案。谢谢。

最佳答案

永远、真的、永远不要那样做。

如果您将数据下载代码放入适配器的 getView 方法中,它将对列表的每一行进行网络调用。

更糟糕的是,只要该行出现在屏幕上,它就会调用它,而不仅仅是一行一次。

您应该首先获取所有数据,然后仅使用适配器来绘制它。

您可以随时调用数据库来检查更改,并在需要时通知适配器重新绘制列表以显示更改。

希望这有帮助。

关于android - 从列表适配器访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33519523/

相关文章:

android - 在不重新加载的情况下将项目添加到 ListView

java - 如何获取Android设备当前的媒体类型?

android - 从另一个 Activity 启动主启动器 Activity

android - OnItemClick 监听器和单击的 View 项的可见性

android - 在不使用 smoothScrollToPosition 的情况下转到 Listview 中的项目

android - 在android中滚动 ListView 时获取闪烁布局的背景?

android-listview - getView 显示错误的位置 - ListView Android

android - 水平 View 寻呼机中的 ListView 未更新

Android套接字总是超时

android - 字符串到sharedpreference android