从单独的sql表填充ListView

时间:2012-09-02 23:46:11

标签: android sql listview

我要做的是从数据库中的两个不同的表填充一个列表视图。我正在使用的表是:

--------------------------
|UNIT_TABLE|SHOVEL_TABLE |
|ID        |ID           |
|SITE_NAME |SITE_NAME    |
|UNIT_NAME |SHOVEL_NAME  |
--------------------------

我的所有表中都使用了id,因为基本的自动增量不为空,SITE_NAME是UNIT_TABLE和SHOVEL_TABLE完成位置的名称。

在对最佳选项进行一些研究后,我决定使用以下代码使用SITE_NAME在两个表上创建连接,以确定我需要哪些。

SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    String[] queries=new String[]{"select "+ID+", "+SHOVEL_NAME+" from "+SHOVEL_TABLE+" where "+SITE_NAME+"='"+Site+"'",
            "select "+ID+", "+ UNIT_NAME+" from "+UNIT_TABLE+" where "+SITE_NAME+"='"+Site+"'"};
    String SQL= qb.buildUnionQuery(queries, null, null);

这允许我将所有数据合并到一个表中,并使用SimpleCursorAdapter填充我的listview。但是,当我单击列表项时,它会将我带到相同的活动。我需要它做的是如果项目来自SHOVEL_TABLE去一个Shovel.class,如果它来自UNIT_TABLE我需要它去Unit.class。

寻找任何建议。

1 个答案:

答案 0 :(得分:1)

我假设您使用适配器填充列表视图吗?我猜您在适配器中,您可以为listitemlistener添加信息以备注。