![](/img/trans.png)
[英]how to pass a value back to previous fragment destination using Android navigation component?
[英]How to pass a function as an argument to a destination fragment - Android Navigation Component
我有一个DialogFragment
扩展了我想在导航图中用作目的地的 DialogFragment,这样我就可以像打开任何其他片段一样打开它。 我想将函数作为 arguments 传递给我的DialogFragment
class 以用于正负按钮侦听器。 在这种情况下,它们将是来自调用 Fragment 的函数。
那么,是否可以将函数作为 arguments 传递给导航组件目标,或者是否有另一种方法来 go 这样做。 DialogFragment 需要自己的 ViewModel 吗?
正如@CommonsWare 建议的那样,我最终这样做的方式是拥有一个共享的 ViewModel。
ViewModel 的设置如下:
class ViewModel(application: Application) : AndroidViewModel(application) { }
它是这样实例化的,在使用它的两个片段中使用requireActivity()
以确保它充当 singleton,因为这些片段共享一个父活动。
val viewModel = ViewModelProvider(requireActivity()).get(ViewModel::class.java)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.