2つのテーブルがあるとしましょう。1つは「ボックスサイズ」、もう1つは「フルーツ」です。すべての果物には、パッケージ化された箱のサイズがあります。私は箱のサイズの3つのカテゴリのみが必要であり、その中に4〜5個の果物がある場合があります。したがって、私のグループは「ボックスサイズテーブル」から、子供は「フルーツ」テーブルから取得されます。
getChildrenCursorをオーバーライドして無駄にしようとしました。「fruits」の列は、1つのカーソルを使用していると想定したため、存在しないと表示されます。
どうすればこれを回避できますか?
cU=dB.fetchTypes(cId);
SimpleCursorTreeAdapter mAdapter = new SimpleCursorTreeAdapter(this,
cU, android.R.layout.simple_expandable_list_item_1, android.R.layout.simple_expandable_list_item_1,
new String[] { SQLAdapter.KEY_BOXNAME }, new int[] {R.id.exp_group_text1},
R.layout.exprow_group, R.layout.exprow_child, new String[] { SQLAdapter.KEY_FRUITNAME},
new int[] { R.id.exp_child_text1 }) {
//we return a new cursor representing fruit for each box selected
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
secondCu = dB.fetchFruitesOfBox(new Long(groupCursor.getString(groupCursor.getColumnIndex(SQLAdapter.KEY_BOXID))));
secondCu.moveToFirst();
return secondCu;
}
};
expView.setAdapter(mAdapter);