Android 从另一个活动调用对话框

Android 从另一个活动调用对话框,android,Android,我有一个活动A,它使用AlertBuilder.create等定义了一个对话框。该活动使用showDialog(dialogID)调用该对话框。dialogID在所有类/活动中声明和识别。在活动A中,一切都很完美 我的问题是,当试图从另一个活动(活动B)调用同一个对话框(showDialog(dialogID))时,应用程序崩溃。有人能帮忙吗 如何从多个活动中调用对话框 提前谢谢 安迪我认为,如果不在新活动中加入类似的切入点,你就无法实现你想要的目标 showDialog(int-id) 该id

我有一个活动A,它使用AlertBuilder.create等定义了一个对话框。该活动使用showDialog(dialogID)调用该对话框。dialogID在所有类/活动中声明和识别。在活动A中,一切都很完美

我的问题是,当试图从另一个活动(活动B)调用同一个对话框(showDialog(dialogID))时,应用程序崩溃。有人能帮忙吗

如何从多个活动中调用对话框

提前谢谢


安迪

我认为,如果不在新活动中加入类似的切入点,你就无法实现你想要的目标

showDialog(int-id)


该id在启动它的活动中是唯一的。因此,如果两个活动A和B都调用showDialog(1);除非有人在他们的onDialogCreate()和onPrepareDialog方法中为他们编码了相同的代码路径,否则这两种方法都会有所不同。因此,在原始活动的onDialogCreate中,该代码必须存在于两个活动中。有时,您可以创建一个新的对话框类型,该类型根据给定的上下文在内部执行所有初始化,只需对其调用show()。此解决方案的问题通常出现在上下文不再有效时,您需要取消或显示上下文。基本上,当使用showDialog()时,它是以每个活动为基础的。

我认为,如果不在新活动中连接类似的入口点,就无法完成您想要的任务

showDialog(int-id)

该id在启动它的活动中是唯一的。因此,如果两个活动A和B都调用showDialog(1);除非有人在他们的onDialogCreate()和onPrepareDialog方法中为他们编码了相同的代码路径,否则这两种方法都会有所不同。因此,在原始活动的onDialogCreate中,该代码必须存在于两个活动中。有时,您可以创建一个新的对话框类型,该类型根据给定的上下文在内部执行所有初始化,只需对其调用show()。此解决方案的问题通常出现在上下文不再有效时,您需要取消或显示上下文。基本上,使用showDialog()时,它是基于每个活动的

我的问题是当试图调用 同样的对话-- showDialog(dialogID)--来自另一个 活动(活动B)应用程序 撞车

如何从活动B调用对话框?只是想让您知道,您没有设置活动(因此没有
新活动a()。showDialog(id)

你能做的就是

  • 创建一个扩展
    AlertDialog.Builder
    的类,并在构造函数中接受
    Context
    参数。您可以自定义文本、按钮和其他内容
  • 在您的活动中,在
    onCreateDialog
    中,您可以实例化您的类并在其上调用
    create()
    。您的类将可以从任何活动中访问
  • 我的问题是当试图调用 同样的对话-- showDialog(dialogID)--来自另一个 活动(活动B)应用程序 撞车

    如何从活动B中调用对话框?只是想让您知道,您没有设置活动(因此
    新建活动A()。showDialog(id)

    你能做的就是

  • 创建一个扩展
    AlertDialog.Builder
    的类,并在构造函数中接受
    Context
    参数。您可以自定义文本、按钮和其他内容
  • 在您的活动中,在
    onCreateDialog
    中,您可以实例化您的类并在其上调用
    create()
    。您的类将可以从任何活动中访问

  • 我认为那是不可能的

    对话框内置于活动A中,属于活动A。 无论您是否将其ID存储在全局数据空间中,它都无法在活动B中使用。
    您必须在活动B中创建另一个对话框,我认为这是不可能的

    对话框内置于活动A中,属于活动A。 无论您是否将其ID存储在全局数据空间中,它都无法在活动B中使用。 您必须在活动B中创建另一个对话框