0
有沒有簡單的教程來幫助從sqlite數據創建可擴展列表?來自Sqlite的Android Expandable列表
我有一個叫做categories的表,然後是一個叫做questions的表。如果點擊某個類別,則需要顯示該類別的問題。
如何將類別ID傳遞給第二個遊標?
任何幫助表示讚賞。
有沒有簡單的教程來幫助從sqlite數據創建可擴展列表?來自Sqlite的Android Expandable列表
我有一個叫做categories的表,然後是一個叫做questions的表。如果點擊某個類別,則需要顯示該類別的問題。
如何將類別ID傳遞給第二個遊標?
任何幫助表示讚賞。
我知道這有點舊,但由於它沒有答案,我只是想出了一些我正在做的事情,所以我會試着給你一個答案。
您正在尋找的答案在於適配器(特別是重寫的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);
}
合這有助於!