我有两个片段,片段A和b。有一个名为city
的变量,它设置了用户的默认城市,然后在片段b中,用户可以更改城市。
我想使用从frag B中选择的新城市值来获取更改后的城市的数据。
但当我尝试时,我会得到新城市的值,但用户配置文件中的默认城市值一直都在设置中。
在片段A中,在导航到目的片段之前,可以将FragmentResultListener
设置如下:
setFragmentResultListener(RESULT_KEY) { _, bundle ->
val selectedCity = bundle[BUNDLE_DATA_KEY] as String
// Do any stuff with the selected city
}
findNavController().navigate(ACTION)
然后在目标片段中,在导航到片段A之前,以这种方式设置捆绑包数据:
val selectedCity = "New York"
setFragmentResult(RESULT_KEY, bundleOf(BUNDLE_DATA_KEY to selectedCity))
findNavController().navigateUp()