【问题标题】:How to maintain connection between list item and database row?如何保持列表项和数据库行之间的连接?
【发布时间】:2014-11-26 17:59:11
【问题描述】:

在我的 Android 应用程序中,我使用了帐户列表视图(用于支票簿类型的应用程序)。我正在从数据库中提取这些帐户并显示它们。我的问题是,一旦有了光标对象,我可以在其中提取信息并将其显示在列表项中,如何保持该列表项与其来自的行的 id 值之间的连接?

我想这样做的原因是帐户显示在导航抽屉中。当我选择一个列表项时,我希望主片段显示该帐户的更多信息,包括它的交易。这就是为什么我想维护与 id 的关系,以便可以将其链接到 transactions 表。

我不想在列表项中显示 id 值,因为它对用户毫无用处。我应该在这里做什么?

【问题讨论】:

  • 与其显示 id 值,不如给它一个名字,但保留 id 值的变量。
  • @BlackHatSamurai 我不确定我是否理解。我正在从光标读取值,并填充 UI 元素。你是说我应该读取 id 值并将其存储为某种全局或类级别的变量?
  • 是的。这正是我要说的。
  • 那么,一旦我选择了这个项目,你会如何推荐它呢?我应该使用某种字典将列表项位置映射到表 id 吗?我想我可以将 id 映射到帐户名称,当我选择一个项目时,我可以获取该帐户名称并以这种方式找到它,但这似乎需要做很多工作。我会考虑这个想法并让你知道。
  • 就个人而言,我会为每个列表项创建一个对象。这样您就可以将所有数据存储在对象中,并在需要时引用数据库。

标签: java android sqlite listview android-intent


【解决方案1】:

一种方法是为每个列表项创建一个对象。然后,您可以使用类级别的变量(如 ID、名称等)填充对象。这只需要一个连接,并且可以在整个应用程序中保留您需要的数据。

【讨论】:

  • 对不起,我再也没有回来过这个,但感谢你的想法。我没有使用 CursorAdapter,而是为列出的项目创建了一个对象适配器,我能够将它们打包成意图并根据需要在其他活动中引用它们。
  • @McAdam331 很高兴我能帮上忙。祝你的项目好运。
  • 最初的项目(上课需要)做得很好。全班都喜欢它,我们是唯一使用 Android 开发的团队。我计划在假期休息期间重新设计应用程序,让它变得更好,所以如果我需要更多帮助,我会回来的。
猜你喜欢
  • 2018-11-07
  • 1970-01-01
  • 2010-11-30
  • 2020-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-09
  • 2012-08-26
相关资源
最近更新 更多