想象一下,a
会在单击按钮时启动FragmentA
。将一些参数传递给FragmentB
非常简单:
FragmenB
但是,当用户离开 val action = FragmentADirections.actionToFragmentB("some text")
findNavController().navigate(action)
时,是否可以将数据从FragmentB
传递到FragmentA
?换句话说,当FragmentB
由于反向按下而被破坏时。
答案 0 :(得分:0)
在导航UI xml中:
<fragment
android:id="@+id/FragmentB"
android:name="com.example.FragmentB"
android:label="FragmentB"
tools:layout="@layout/FragmentA">
<action
android:id="@+id/action_FragmentB_to_FragmentA"
app:destination="@id/FragmentA" />
</fragment>
就像您想使用一些参数从 FragmentB 返回 FragmentA 一样,使用以下方法:
findNavController().navigate(
R.id.action_FragmentB_to_FragmentA,
bundleof("key" to <your_value>) // example: 100 (Int value)
)
然后,您可以使用arguments?.getInt("key")
just 在 FragmentA 中接收自变量,或者如果您通过String
也可以通过{{1} }等。
仅此而已。让我知道它是否有效。编码愉快。
答案 1 :(得分:-1)
检查NavigationResult库。这是一个很好的库,可以处理Android导航组件中的navigationUp
This文章介绍了如何使用该库