用SQLite中的数据填充ExpandableListView

设置:我有一个本地的SQLite数据库,包含电影放映时间。 一些列是“date”,“ID”,“时间”…

意图:我想把所有这些放映时间放到ExpandableListView中,而date将是父项目。

问题:没有显示。 一点都没有 我很难理解为什么。 有没有人有一个想法?

一些代码:最重要的东西是在顶部,越来越不重要,当你向下滚动…

这是我试图实现这与在Activity的onCreate()中调用的代码:

 String sql = "SELECT rowid _id,* FROM " + Statics.DBSHOWS + ";"; Cursor movieCursor = database.rawQuery(sql,null); movieCursor.moveToFirst(); adapter = new ExpandableListAdapter(movieCursor, this, android.R.layout.simple_list_item_1, android.R.layout.simple_list_item_2, new String[]{Statics.DBSHOWS_DATE}, new int[]{android.R.id.text1}, new String[]{Statics.DBSHOWS_TIME, Statics.DBSHOWS_ID}, new int[]{android.R.id.text1, android.R.id.text2}); movieListView.setAdapter(adapter); 

这是我的ExpandableListAdapter:

 public class ExpandableListAdapter extends SimpleCursorTreeAdapter { Context context; public ExpandableListAdapter(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); this.context = context; } @Override protected void bindChildView(View view, Context context, Cursor cursor, boolean isLastChild) { super.bindChildView(view, context, cursor, isLastChild); System.out.println("Dumping form Childview"); DatabaseUtils.dumpCurrentRow(cursor); } @Override protected void bindGroupView(View view, Context context, Cursor cursor, boolean isExpanded) { super.bindGroupView(view, context, cursor, isExpanded); if(view==null){ System.out.println("View is null!!"); } System.out.println("Dumping form Groupview"); DatabaseUtils.dumpCurrentRow(cursor); } @Override protected Cursor getChildrenCursor(Cursor groupCursor) { int dateInMillis = groupCursor.getInt(groupCursor.getColumnIndex(Statics.DBSHOWS_DATE)); Cursor childCursor = DataHandler.getShowsForDate(dateInMillis); childCursor.moveToFirst(); return childCursor; } } 

这两个Override方法bindChildView(...)bindGroupView(...)被做了testing。 如预期的那样,打印了以下输出:

 Dumping form Groupview 0 { _id=1 Id=117451 Date=15.04.2016 Time=20:15 Movie_Id=2181 Hall=0 Cards_Sold=0 } 

我对我们的爱好/工作有着一种爱与恨的关系:在某种程度上,你有一些工作似乎是完全独立的改变,然后你的某些事情不再工作。 这就是发生在这里的事情,你不可能猜到它:

随着我的设备更新到棉花糖它仍然可以读取我以前使用的ArrayList ,但无法读取数据库了…为什么它仍然可以转储光标…? 我不知道。 但是一旦我发现你必须要求权限,并且实现了这个权限,那么它就起作用了……或多或less。