【发布时间】:2021-07-28 09:55:53
【问题描述】:
我有两个片段,我想在它们之间使用共享元素转换。但我仍然想使用导航操作在它们之间传递数据。
从第一个片段开始,我只使用 Glide 加载了图像 uri,它来自 recyclerView。我正在传递图像描述以及图像 id-> fileId
val action =
MediaFragmentDirections.actionNavMediaToPhotoGalleryEditImageFragment(
imageUri,
description,
fileId
)
findNavController().navigate(action)
在第二个片段中,我从 args 获取 uri 并再次使用 glide 显示它
private val args: MediaFragmentPhotoNameArgs by navArgs()
...
val photoIV = args.imageData
/*load the image sent from media fragment*/
Glide.with(this)
.load(photoIV)
.into(photoGalleryImage)
在文档中是这样的
val extras = FragmentNavigatorExtras(view1 to "hero_image")
view.findNavController().navigate(
R.id.confirmationAction,
null, // Bundle of args
null, // NavOptions
extras)
我不知道如何通过它传递动作,因为我还需要第二个片段中的其他变量。
请问我该如何实现?
【问题讨论】:
标签: android kotlin android-fragments android-navigation-graph