0

私がやろうとしているのは、データベース内の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に移動する必要がある場合に必要です。

提案を探しています。

4

1 に答える 1

1

私はあなたがあなたのリストビューを正しく移入するのにアダプターを使うと思いますか?、私はあなたのアダプターに推測します、あなたはあなたのlistitemlistenerが注意するために追加情報を置くことができます。

于 2012-09-02T23:53:51.653 に答える