Android 如何链接(立即重用)同一对话框

Android 如何链接(立即重用)同一对话框,android,Android,我试图用一个有用的对话消息系统来介绍我的程序。 我不想一次给用户带来太多的文本,所以我想把我的对话框分成几个部分。 当然,每个部分都有自己的信息 我使用一个单独的静态类来处理消息传递和流逻辑;它工作得很好。 我实际上也使用了3个对话框。 一条用于第一条消息(因为您无法返回),一条用于中间消息,另一条用于最后一条消息(因为您无法前进)。 我能够从第一条消息中调用中间消息,没有问题。我还可以返回到第一条消息。但是,当我尝试从中间消息对话框重新显示中间消息时,新对话框不会出现 例如: 假设我有4条消息

我试图用一个有用的对话消息系统来介绍我的程序。 我不想一次给用户带来太多的文本,所以我想把我的对话框分成几个部分。 当然,每个部分都有自己的信息

我使用一个单独的静态类来处理消息传递和流逻辑;它工作得很好。 我实际上也使用了3个对话框。 一条用于第一条消息(因为您无法返回),一条用于中间消息,另一条用于最后一条消息(因为您无法前进)。 我能够从第一条消息中调用中间消息,没有问题。我还可以返回到第一条消息。但是,当我尝试从中间消息对话框重新显示中间消息时,新对话框不会出现

例如: 假设我有4条消息,那么中间的消息需要出现两次:

  • 出现第一条消息:用户单击下一步
  • 出现中间消息:用户单击“上一步”
  • 出现第一条消息:用户单击下一步
  • 出现中间消息:用户单击下一步
  • 出现中间消息:用户单击下一步
  • 最后一条消息出现
  • 问题是我在第5步没有得到任何对话框。 我正在使用onPrepareDialog重新初始化对话框。现在它基本上是onCreateDialog的克隆,开关中的每个案例都调用适合该对话框的生成器方法

    这是我的中间对话框方法的代码。(其他两个差不多。你可以从中猜出它们是什么样子。)


    我使用了一个普通的对话框,里面有一个文本切换器和两个按钮来前进或后退。TextSwitcher只需更改文本,一些动画可以更改文本。试试看! 这两个按钮的功能仅仅取决于我的字符串数组中所有消息存储在有序位置的位置


    这是我以对话主题开始的活动:

    这似乎是一个完美的解决方案。然而,每次我在活动生命周期开始时调用以对话框为主题的活动时,它显示的都是一个黑屏。我甚至试过写简历,结果一无所获。我知道这不是新的活动,因为当用户交互触发时,我让它工作。但我需要它在那之前弹出。(编辑)我挖得更深一点,看到你从一个按钮启动了你的。有什么建议吗?
    protected AlertDialog buildMiddleNoticeDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder
            .setTitle(Notice.getTitle())
            .setMessage(Notice.getMessage())
            .setCancelable(false)
            .setNegativeButton(resources.getString(R.string.notice_next_button),
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        showDialog(Notice.next());
                    }
                })
            .setPositiveButton(resources.getString(R.string.notice_previous_button),
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        showDialog(Notice.previous());
                    }
                });
        return builder.create();
    }