SQLiteデータベースの異なるテーブルから2つのカーソルがあります。2つのカーソルからのデータを1つに入れようとしていますがListView
、各カーソルからのデータのフォーマットが異なります。
私が考えたのはMergeCursor
、両方のカーソルを結合するためにaを使用することですが、ViewBinder
forSimpleCursorAdapter
はそれらを単一のカーソルとして認識し、フォーマットを区別することはできません(テーブルを変更しない限り、実行したくありません)。
最後に、Cursor.repond(Bundle)
&という2つのメソッドを見つけましCursor.getExtras()
たが、開発者コンソールのドキュメントは非常に短く、これらのメソッドをグーグルで検索しても、その使用法が明確になりませんでした。
resond()
クエリのデータベースクラスで使用するアイデアをテストしました。
extr.putString("table", the_tab);
Cursor c_in = db.rawQuery(qry, null);
c_in.respond(extr);
return c_in;
そして、を使用getExtras()
しViewBinder
てクエリのテーブルを把握し、ListView
それに応じてアイテムをフォーマットします。
Bundle extr=cur.getExtras();
String tab= extr.getString("table");
しかし、私は常に例外を取得していtab
ますnull
。
この長い説明の後の私の質問は次のとおりです:私はrespond
とgetExtras
メソッドを正しく使用していますか?そうでない場合、私の問題に対するより良いアプローチはありますか?