私がやろうとしているのは、データベース内の2つの異なるテーブルから1つのリストビューにデータを入力することです。私が使用しているテーブルは次のとおりです。
--------------------------
|UNIT_TABLE|SHOVEL_TABLE |
|ID |ID |
|SITE_NAME |SITE_NAME |
|UNIT_NAME |SHOVEL_NAME |
--------------------------
idはすべてのテーブルで使用されます。基本的な自動インクリメントはnullではないため、SITE_NAMEはUNIT_TABLEとSHOVEL_TABLEが完了している場所の名前です。
最良のオプションについて調査した後、次のコードを使用して、SITE_NAMEを使用して2つのテーブルに結合を作成し、どちらが必要かを判断することにしました。
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);
これにより、すべてのデータを1つのテーブルに結合し、SimpleCursorAdapterを使用してリストビューにデータを入力することができました。ただし、リストアイテムをクリックすると、同じアクティビティに移動します。アイテムがSHOVEL_TABLEから1つのShovel.classに移動する場合、およびUNIT_TABLEからのアイテムがUnit.classに移動する必要がある場合に必要です。
提案を探しています。