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);
}
合这有助于!