【发布时间】:2021-12-06 19:13:24
【问题描述】:
我有一个带有对话框片段的单个活动应用程序 (MainActivity)。 DialogFragment 将数据添加到 sqllite 数据库,而 MainActivity 在回收器视图中显示数据。我面临的问题是,当我单击 DialogFragment 中的“添加按钮”并将其关闭时,在重新创建活动之前,新插入的数据不会显示在回收器视图中。
如何在不重新启动应用程序的情况下显示新数据。我已经在DialogFragment类中添加了“recyclerViewAdapterObject.notifyDataSetChanged”,但是还是不行!
【问题讨论】:
-
如果您需要具体帮助,请添加一些代码。但一般来说,您需要从数据库重新加载数据(或者有一些实时数据,在这种情况下会自动通知观察者)
-
可以通过维护activity生命周期方法来解决。您只需覆盖 onResume() 方法。将您的“数据获取”代码放在 onResume() 方法中,并在数据保存之后和 dialogfragment 关闭之前调用 onResume()。这可以解决您的问题。但不建议这样做。您应该使用 viewModel、livedata。
标签: android sqlite android-recyclerview android-dialogfragment