如何从对话片段导航到对话片段?



我有一个片段,我点击一个按钮,它打开一个对话框(DialogFragment)。在这个对话框中,我有一个按钮,如果我按下它,我想解散这个对话框,并打开另一个不同的对话框(DialogFragment)。在这个新对话框中,我想做一些类似的事情,我想做一个按钮来返回到上一个对话框。

在我的导航图中有:

<dialog android:id="@+id/dialog_first" android:name="com.example.dialog.FirstDialog" android:label="first" tools:layout="@layout/myfirstdialog">
<argument android:name="phonenumber" app:argType="string"/>
<action android:id="@+id/action_dialog_first_to_dialog_second" app:destination="@+id/dialog_second"/>

</dialog>

<dialog android:id="@+id/dialog_second" android:name="com.example.dialog.SecondDialog" android:label="second" tools:layout="@layout/myfirstdialog">
<action android:id="@+id/action_dialog_second_to_dialog_first" app:destination="@+id/dialog_second"/>

</dialog>

在我的第一个对话框中,我收到一个参数来显示它,如果我旅行到第二个对话框并回到第一个对话框,我想在对话框中仍然有参数,是否需要将参数传递给第二个对话框并再次传递给第一个对话框以保留它?

我就是这样做的,但是当我点击按钮从第一个对话框导航到第二个对话框时,它只会取消对话框。

btnGoToSecondDialog.setOnClickListener{
dismiss()
findNavController().navigate(
FirstDialogDirections.action_dialog_first_to_dialog_second()
)
}

最好的方法是什么?如何显示第二个对话框?如果我从第二个对话框回到第一个对话框仍然显示参数,是否需要将参数传递给第二个对话框?

当你从一个对话框切换到另一个对话框时,如果你从后台删除当前对话框,并将当前对话框中的数据发送到第二个对话框,你就完成了你想要的。

当你想回到第一个对话框时,你应该从后台删除第二个对话框,并将数据发送到第一个对话框。

因此,当你从第一个或第二个对话框中按下解散按钮时,将不会有不想要的对话框在后台。

最新更新