设置:我有一个本地sqlite数据库,保存电影的放映时间。有些列是“日期”、“ID”、“时间”…
目的:
我想把所有这些显示时间放到一个可展开的列表视图中,而日期将是父项。
问题:没有显示任何内容。什么都没有。我很难理解为什么。有人有主意吗?
一些代码:最重要的东西是在顶部,当你向下滚动时,get越来越不重要…
这是我试图实现的代码,在活动的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;
}
}
分别采用两种方法进行检测。如预期,打印了以下输出:
Dumping form Groupview
0 {
_id=1
Id=117451
Date=15.04.2016
Time=20:15
Movie_Id=2181
Hall=0
Cards_Sold=0
}
最佳答案
我和我们的爱好/工作有一种爱恨关系:你有一些工作,在某一点上,一些看起来完全独立的变化,然后你的东西就不再工作了。这就是这里发生的事情,你不可能猜到:
随着我的设备更新到棉花糖,它仍然可以读取我以前使用的ArrayList
但不能再读取数据库…为什么它仍然可以转储光标…?我不知道。但一旦我发现您必须在移动中请求权限,并实现了这一点,它就工作了…无论如何或多或少。