我要做的是从数据库中的两个不同的表填充一个列表视图。我正在使用的表是:
--------------------------
|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。
寻找任何建议。
答案 0 :(得分:1)
我假设您使用适配器填充列表视图吗?我猜您在适配器中,您可以为listitemlistener添加信息以备注。