在我的应用程序中,我有两个标签。每个选项卡显示不同的活动。
在activity_1中,我管理一个全局字符串数组-添加和删除选项可用。
在activity_2中,我有一个AlertDialog。该对话框是通过调用活动对话框的函数onCreateDialog、onPrepareDialog创建的。该对话框显示了一个多项选择列表,该列表的源是activity_1管理的全局数组。
问题:我希望根据在activity_1中对全局数组所做的更改,在activity_2的对话框中显示更新后的列表。问题是该列表是在onCreateDialog中创建的,并且此方法在活动的生命周期中只被调用一次。
例如:如果全局数组包含:“香蕉”,“橙色”,在activity_1中我刚刚添加了:“苹果”,然后我点击了标签#2,我希望activity_2打开对话框,并在对话框列表中显示:“香蕉”,“橙色”,“苹果”。
我尝试在: onPrepareDialog中重新填充列表,但没有成功,只是让我决定检查哪些列表项。我应该扩展AlertDialog吗?
任何帮助都将不胜感激。
发布于 2011-08-14 16:15:56
可以使用DialogInterface.OnShowListener在每次显示对话框内容时对其进行更新。
编辑:您必须实现listadpater并将适配器设置为构建器。
在onPrepareDialog中,获取listview mAlertdlg.getListView()并在其适配器上调用notifyDatasetChanged()。或者只需再次将适配器设置为mAlertdlg.getListView().setAdapter(list)
https://stackoverflow.com/questions/7055627
复制相似问题