在我的应用程序中,我有2个选项卡。每个标签显示不同的活动。如何重新创建对话框,包括其全部内容?
在activity_1中,我管理全局字符串数组 - 添加和删除选项可用。
在activity_2中我有一个AlertDialog。 该对话框通过调用Activity的对话框函数来创建:onCreateDialog,onPrepareDialog。 该对话框显示多选列表,并且列表的源代码是activity_1管理的全局数组。
问题:我想根据在activity_1中对全局数组所做的更改,在activity_2的对话框中显示更新的列表。问题在于列表是在onCreateDialog中创建的,并且此方法在活动的生命周期中仅被调用一次。
例如:如果全局数组包含:[“Banana”,“Orange”],并且在activity_1中我刚刚添加了:“Apple”,并且我单击了选项卡#2,我想要activity_2打开对话框并显示在对话框列表中:[“香蕉”,“橙色”,“苹果”]。
我试着重新填充列表:onPrepareDialog但没有成功,它只是让我来决定哪些列表项将被检查或不。我应该扩展AlertDialog吗?
任何帮助将不胜感激。
如何在onPrepareDialog中更新列表本身(例如添加一个项目到列表)? – ofirbt
当前我通过在首次创建对话框时调用AlertDialog.Builder.setMultiChoiceItems方法来构建对话框列表。在创建对话框之后,如何再次调用setMultiChoiceItems方法? – ofirbt
在这种情况下,你必须重新创建对话框。 – Ronnie