如何重新创建对话框,包括其整个内容?

时间:2011-08-14 07:37:06

标签: android android-tabhost android-alertdialog

在我的应用中,我有两个标签。每个标签显示不同的活动。

在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吗?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

每次显示时,您都可以使用DialogInterface.OnShowListener更新对话框内容。


编辑: 您必须实现listadpater并将适配器设置为构建器。


在onPrepareDialog中,获取listview mAlertdlg.getListView()并在其适配器上调用notifyDatasetChanged()。或者只需再次设置适配器mAlertdlg.getListView().setAdapter(list)