0
sqliteデータから拡張可能なリストを作成するための簡単なチュートリアルはありますか?Android Expandable List from Sqlite
私はカテゴリと呼ばれるテーブルを持っていますし、質問と呼ばれるテーブルがあります。カテゴリがクリックされた場合、そのカテゴリの質問を表示する必要があります。
カテゴリIDを2番目のカーソルにどのように渡しますか?
助けてください。
sqliteデータから拡張可能なリストを作成するための簡単なチュートリアルはありますか?Android Expandable List from Sqlite
私はカテゴリと呼ばれるテーブルを持っていますし、質問と呼ばれるテーブルがあります。カテゴリがクリックされた場合、そのカテゴリの質問を表示する必要があります。
カテゴリIDを2番目のカーソルにどのように渡しますか?
助けてください。
これはちょっと古いですが、回答がなく、私がやっていたことのためにこれを考え出したので、私はあなたに答えを与えてくれるでしょう。
あなたが探している答えは、アダプタ(特に、オーバーライドされたgetChildrenCursorメソッド)にあります。基本的にあなたのグループのカーソルが渡されてから、それからデータを抽出して各親の子カーソルを作成します。
私の現在のプロジェクトのいくつかのコード例を次に示します。
セットアダプタ
mAdapter = new MyExpandableListAdapter(mGroupsCursor, getActivity(),
R.layout.explistlayout,
R.layout.explistlayout,
new String[] { "_id" },
new int[] { R.id.text1 },
new String[] { AttendanceDB.EVENT_NAME },
new int[] { R.id.text1 });
lv.setAdapter(mAdapter);
アダプタクラス
public class MyExpandableListAdapter extends SimpleCursorTreeAdapter {
public MyExpandableListAdapter(Cursor cursor, Context context,
int groupLayout, int childLayout, String[] groupFrom,
int[] groupTo, String[] childrenFrom, int[] childrenTo) {
super(context, cursor, groupLayout, groupFrom, groupTo,
childLayout, childrenFrom, childrenTo);
}
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
Cursor childCursor = mDbHelper.fetchChildren(groupCursor.getString(groupCursor.getColumnIndex("_id")));
getActivity().startManagingCursor(childCursor);
childCursor.moveToFirst();
return childCursor;
}
}
データベース方法
public Cursor fetchGroup() {
String query ="SELECT DISTINCT " + EVENT_DATE + " AS _id FROM " + EVENT_TABLE;
return mDb.rawQuery(query,null);
}
public Cursor fetchChildren(String dateToken) {
return mDb.query(EVENT_TABLE, new String[] { EVENT_ROWID,
EVENT_NAME, EVENT_DATE }, EVENT_DATE + "='" + dateToken + "'" ,
null, null, null, null);
}
ホップこれは役に立ちます!