我有一个扩展了DialogFragment
的类,我想将其用作导航图中的目标,以便像打开其他任何片段一样打开它。我想将函数作为参数传递给我的DialogFragment
类,以便在肯定和否定按钮侦听器中使用。在这种情况下,它们将是调用片段中的函数。
因此,可以将函数作为参数传递给导航组件目标,还是有另一种方法可以做到这一点。 DialogFragment是否需要自己的ViewModel?
答案 0 :(得分:0)
我最终完成此操作的方式是通过共享的ViewModel,如@CommonsWare建议的那样。
ViewModel的设置如下:
class ViewModel(application: Application) : AndroidViewModel(application) { }
并以此实例化,在两个片段中都使用requireActivity()
来确保它充当单例,因为这些片段共享父活动。
val viewModel = ViewModelProvider(requireActivity()).get(ViewModel::class.java)