首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android ExpandableListView SimpleCursorTreeAdapter启动空将崩溃

Android ExpandableListView SimpleCursorTreeAdapter启动空将崩溃
EN

Stack Overflow用户
提问于 2011-06-17 09:21:40
回答 1查看 1.6K关注 0票数 0

我正在编写一个Android应用程序(目标是Androidver2.1up)。我使用的是ExpandableListViewSimpleCursorTreeAdapter。我发现它会按照这样的顺序崩溃:

  1. ExpandableListView启动为空(即数据库中没有相应的记录)。
  2. 添加记录。
  3. 使用ExpandableListView返回到屏幕。现在,显示组(S)。
  4. 单击组展开,活动将被迫关闭。

经过数天的互联网搜索,然后痛苦地追踪我的应用程序的源代码,然后是Android的平台源代码,

的问题似乎是:当平台启动iSimpleCursorTreeAdapter时,

它将在实例化期间将子字段列表存储在私有成员mChildFrom中一次,在至少有一个组的条件下将子字段列表存储在(奇怪的是)中,条件是。如果没有记录(因此没有组),则不存储子字段列表。当随后添加记录和将组展开为显示的子行时,ExpandableListView将崩溃,因为私有成员mChildFrom为null。

因此,我现在要了解的是:只有在数据库中有相关记录的情况下,才会实例化SimpleCursorTreeAdapter。如果没有,请在OnResume()期间重试实例化。

如果有人有更好的理由或有更好的解决方案,这将对我(或其他有同样问题的穷人)有帮助。(我倾向于相信这是Android平台上的一个bug。)

EN

回答 1

Stack Overflow用户

发布于 2011-06-17 10:24:22

试试看以下几点。在onCreate()中实例化适配器,但传递null作为游标参数。然后在onResume()中创建新的游标,并使用changeCursor()将其传递给适配器。这样,每当您更改数据模型上的任何内容(添加、删除、编辑行)时,都会得到一个新的游标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6383766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档