在我的应用中,我有两个标签。每个标签显示不同的活动。
在activity_1中,我管理全局字符串数组 - 可以使用添加和删除选项。
在activity_2中我有一个AlertDialog。 通过调用Activity的对话框函数创建对话框:onCreateDialog,onPrepareDialog。 该对话框显示一个多选列表,列表的源是activity_1管理的全局数组。
问题:我想根据对activity_1中的全局数组所做的更改,在activity_2的对话框中显示更新的列表。问题是该列表是在onCreateDialog中创建的,并且此方法仅在活动的生命周期中被调用一次。
例如:如果全局数组包含:[“Banana”,“Orange”],并且在activity_1中我刚添加:“Apple”,我点击了标签#2,我希望activity_2打开对话框,在对话框列表中显示:[“Banana”,“Orange”,“Apple”]。
我试图重新填充:onPrepareDialog中的列表,但没有成功,它只是允许我决定是否检查哪些列表项。我应该扩展AlertDialog吗?
任何帮助将不胜感激。
答案 0 :(得分:0)
每次显示时,您都可以使用DialogInterface.OnShowListener
更新对话框内容。
编辑:
您必须实现listadpater并将适配器设置为构建器。
在onPrepareDialog中,获取listview mAlertdlg.getListView()
并在其适配器上调用notifyDatasetChanged()
。或者只需再次设置适配器mAlertdlg.getListView().setAdapter(list)