我通常不会在这里发帖,除非它是最后的手段,但这是我遇到的最棘手的Android问题。
我有一个主要活动和两个片段。一个片段显示使用游标适配器创建的列表视图,另一个片段显示允许用户将文本添加到sqlite数据库的编辑文本。我在很多帖子中看到的常见问题是项目可以通过数据条目片段添加到数据库中,但是当您切换到listview片段时,新条目不会在列表中刷新。正如许多人发布的那样,查看新条目的唯一方法是退出应用程序并再次启动它,新数据库条目将显示在列表中。或者,我在listview片段中添加了一个按钮,用于更新列表视图。
许多人建议创建一个界面,通过主要活动提供片段之间的通信。但是这种方法抛出了熟悉的java.lang.NullPointerException:尝试调用虚方法。
现在我有一个管理片段的页面适配器,似乎一旦创建了页面,就无法更新列表视图,因为对数据库的调用需要一个看似为null的上下文。
可以在此网址的Git上找到一个简单示例的代码(不实现接口):Repository
我真的很茫然。似乎保存到数据库并更新另一个片段中的列表视图应该不那么困难,但事实证明确实如此。