我从行项目中按钮单击的自定义适配器打开一个对话框。
在对话框中我更新该项目。
我的所有数据都来自SQLite数据库。
问题是对话框更新数据库中的数据并被解除,但未通知适配器。因此,在关闭对话框后,我没有在该项目中获得更新值。
我该如何解决这个问题?
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
你必须手动完成。只需在对话框中的某处添加此行:
((BaseAdapter) yourListView.getAdapter()).notifyDataSetChanged();
要在UI-Thread上调用它,请使用Activity的runOnUiThread()。
答案 1 :(得分:0)
刷新适配器值的最常用功能是notifyDataSetChanged()。在更新对话框中的值后,是否尝试在自定义适配器上调用此文件?
您可以尝试做的另一件事是使用所有新值填充适配器,因此在对话框中编辑项目后,您将再次从数据库中获取所有项目并为列表视图设置新适配器(使用新的它们通过调用listview.setAdapter(adapterwithnewvalues)
来使用它这个答案实际上并不是你问题的具体解决方案,只是一个想法,你可以尝试:)