代码之家  ›  专栏  ›  技术社区  ›  A. Steenbergen

SQLite Android基于从不同表中的字符串数组获得的ID加载行?

  •  0
  • A. Steenbergen  · 技术社区  · 12 年前

    我有一个数据库表a,它包含两列:主键_idA和一个名为datalist的列。 我还有一个数据库表B,包含多个列,其中一个列是它的主键_idB,其他列包含杂项数据。

    我想通过特定的_idA从表A加载数据列表。此数据列表是一个字符串,包含由逗号分隔的_idB,即“31,626126123682”。之后,我需要加载表B中的所有行,这些行的_idB包含在表A的数据列表中。

    由于我在Android上使用连接到Listview的Dataloader,如果可能的话,我真的希望在一个查询中完成所有这些,因为我不完全确定在一个Android Dataloader中执行两个单独的查询是可能的。

    例子: ->我的程序需要id存储在数据列表_idA=5中的所有项目 ->从表A中获取数据列表,其中_idA=5 ->从表B中获取所有行,其中_idB在表A的数据列表中,_idA=5

    我对SQLite还很陌生,而且还在学习,所以非常感谢您的帮助!

    1 回复  |  直到 12 年前
        1
  •  1
  •   user2154462 user2154462    11 年前

    假设DataLoader引用的是CursorLoader,事情很简单:

    您应该:

    1. 扩展游标加载器,并在onLoadInBackground()方法中执行第一个表查询,获取id并在第二个表查询中使用它。确保返回游标并在ListView适配器中交换它。

    2. 在第一个游标加载器onLoadFinished()回调中,获取id并使用它为第二个表游标启动新的加载器。

    如果你需要更多帮助,请告诉我。