ExpandableListView(手风琴)(2)---CursorTreeAdapter(数据库)
来源:互联网 发布:淘宝积分有什么用处 编辑:程序博客网 时间:2024/06/01 09:00
ExpandableListView(手风琴)(1)—BaseExpandableListAdapter
- 自定义适配器继承CursorTreeAdapter
构造方法比base额外传递进来一个cursor
LayoutInflater mInflater; DBWrapper mDbWrapper; //参数1 组的游标 public DBAdapter(Cursor groupCursor, Context context) { super(groupCursor, context); mInflater=LayoutInflater.from(context); mDbWrapper=new DBWrapper(context); }
组的创建绑定
@Override protected View newGroupView(Context context, Cursor groupCursor, boolean isExpandable,ViewGroup contanier) { return mInflater.inflate("布局", null); } @Override protected void bindGroupView(View groupView, Context context, Cursor groupCursor, boolean isExpandable) { TextView txtTitle=(TextView) groupView.findViewById(R.id.txt_group); txtTitle.setPadding(30, 0, 0, 0); txtTitle.setText(groupCursor.getString(groupCursor.getColumnIndex("列名"))); }
子条目的创建绑定
@Override protected View newChildView(Context context, Cursor childCursor, boolean isLast, ViewGroup container) { return mInflater.inflate("布局", null); } @Override protected void bindChildView(View view, Context context, Cursor childCursor,boolean isLast) { TextView txtChild=(TextView) view.findViewById(R.id.txt_child); txtChild.setPadding(30, 0, 0, 0); String des=childCursor.getString(childCursor.getColumnIndex("")); String leanr=childCursor.getString(childCursor.getColumnIndex(Constant.COLUME_NAME_DETAIL_LEANER)); txtChild.setText(des+"\n 学习人数:"+leanr); }//这个方法获得的是一个cursor 方便上面给方法转换为string @Override protected Cursor getChildrenCursor(Cursor groupCursor) { return mDbWrapper.getChildData(groupCursor.getString(groupCursor.getColumnIndex("数据库列名"))); }
- 数据库帮助类
public class DBOpenHelper extends SQLiteOpenHelper{ public DBOpenHelper(Context context) { super(context,"表名", null, "版本号"); } @Override public void onCreate(SQLiteDatabase db) { String courseSql="建父表" db.execSQL(courseSql); String detailSql="建子表" db.execSQL(detailSql); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { }}
数据库封装类
public class DBWrapper { private DBOpenHelper mDbOpenHelper; private SQLiteDatabase mDatabase; public DBWrapper(Context context){ mDbOpenHelper=new DBOpenHelper(context); } public void insertGroupDefault(Object a){ mDatabase=mDbOpenHelper.getWritableDatabase(); ContentValues value=new ContentValues(); value.put("列名","参数") mDatabase.insert("表名父", null, value);// mDatabase.close(); } public void insertChildDefault(Object a){ mDatabase=mDbOpenHelper.getWritableDatabase(); ContentValues value=new ContentValues(); value.put("列名","参数"); mDatabase.insert("表名子", null, value);// mDatabase.close(); } public Cursor getGroupData(){ mDatabase=mDbOpenHelper.getReadableDatabase(); Cursor groupCursor=mDatabase.query("表名父", null, null, null, null, null, null);// mDatabase.close(); return groupCursor; } public Cursor getChildData(String type){ mDatabase=mDbOpenHelper.getReadableDatabase(); Cursor chCursorCursor=mDatabase.query("表名子", null, "列名"+"=?", new String[]{type}, null, null, null);// mDatabase.close(); return chCursorCursor; }}
- activity中加载数据
private DBWrapper dbWrapper;//对dbWrapper的方法进行操作dbWrapper.insertGroupDefault("参数");Cursor c=dbWrapper.getGroupData();DBAdapter adapter=new DBAdapter(c, this);"控件ID".setAdapter(adapter);
阅读全文
0 0
- ExpandableListView(手风琴)(2)---CursorTreeAdapter(数据库)
- Android版手风琴(ExpandableListView)
- ExpandableListView 手风琴 效果
- ExpandableListView(手风琴)(1)---BaseExpandableListAdapter
- ExpandableListView实现手风琴效果
- ExpandableListView实现手风琴效果
- CursorTreeAdapter
- 手风琴
- 手风琴
- 手风琴
- ExpandableListView(2)
- CursorTreeAdapter自定义Cursor
- CursorTreeAdapter抽象类
- CursorTreeAdapter的使用方法
- android-ExpandableListView(2)
- ExpandableListView
- ExpandableListView
- ExpandableListView
- JAVA UDP
- Android java 序列化工具类 SerializableUtil
- 排序算法 python3
- JNDI
- Spark+Hadoop环境搭建
- ExpandableListView(手风琴)(2)---CursorTreeAdapter(数据库)
- *(volatile unsigned long *) 语法
- #C数据结构 联合体union
- oracle 设置归档模式
- #山外K60函数 FTM_PWM_…
- #C运算符 位运算符
- 【每日一题】 -1和1的数值比较
- 【每日一题】 优先级、左移问题
- css实现鼠标上移图标旋转效果