使用实时数据从 MVVM 体系结构中的 ViewModel 调用片段方法的最佳方法是什么

What is the best way to call fragments method from ViewModel in MVVM architecture using live data

例如,由于 ViewModel 应该松散耦合,我们不能将接口引用传递给 ViewModel 以从 Viewmodel 获取回调并调用片段中实现的方法。

另请提供示例或参考,以使用实时数据调用具有两个或更多参数的方法。

在 ViewModel 中创建一个实时数据变量,并在 Fragment 中将观察者附加到该变量,只要数据发生变化,就会自动调用该函数。

例如:

   viewModel.loading.observe(viewLifecycleOwner, { loading ->
        loading?.let {
          // Here, I'm calling a new function named setLoaderVisibility

            setLoaderVisibility(loader = binding.shimmerProductDetail, binding.containerBody, isLoaderVisible = loading)
        }
    })

有什么不明白的地方尽管问。