在android应用程序中,有多个片段的活动。 即使这些活动或片段不在backStack的顶部,并且接收来自不同服务的通知,这些活动或片段仍可以运行。如何制作一个sington对话框
当发生某些事件时,需要显示一个对话框与用户进行通信。堆栈顶部的活动或片段可能没有该事件的处理程序。任何其他感兴趣的活动或片段都应该向用户打开一个对话框。
问题是监听器中的活动和片段独立处理事件不知道是否已经有相同的对话框显示。
什么是告诉处理程序是否应该打开对话框的最佳方式? 由于这个对话框对于同一个事件是相同的,所以它可能会有帮助,如果它可以作为一个单身人士。
任何人都有建议如何使对话成为这种情况的单身人士?
谢谢Atrem!单个数据实例不是问题。与一个活动的上下文关联的对话框是。在这种情况下,如果多个活动或片段收到显示对话框的事件,则很难确定是否显示对话框。也许使用singleTask或singleInstance开展一项活动可能有所帮助,有什么想法? – lannyf
我建议将链接保存到单个实例类中的对话框。在那个例子中,创建'ensureShowDialog(Context context)'方法。该方法将检查当前是否显示对话框。如果是,您可以显示对话框。在另一个CASR中,您可以将新数据传递给对话框。 –