带有RecyclerView适配器的Android ViewModel

带有RecyclerView适配器的Android ViewModel,android,android-adapter,android-viewmodel,Android,Android Adapter,Android Viewmodel,在需要进行网络调用的recyclerview适配器中,处理事件的最佳实践是什么?因此,可以单击每个单元格来启动其他操作,其中可能包括网络调用。我假设您不会直接从适配器进行网络调用。但是,适配器是否应该持有对片段的ViewModel的引用,从而能够通过视图模型直接进行网络调用,或者适配器是否应该将调用传递给片段,片段调用ViewModel?所以它将是适配器->视图模型->网络调用,或者适配器->片段->视图模型->网络调用。我觉得适配器没有对ViewModel的引用,但我想知道什么是最好的,或者它

在需要进行网络调用的recyclerview适配器中,处理事件的最佳实践是什么?因此,可以单击每个单元格来启动其他操作,其中可能包括网络调用。我假设您不会直接从适配器进行网络调用。但是,适配器是否应该持有对片段的ViewModel的引用,从而能够通过视图模型直接进行网络调用,或者适配器是否应该将调用传递给片段,片段调用ViewModel?所以它将是适配器->视图模型->网络调用,或者适配器->片段->视图模型->网络调用。我觉得适配器没有对ViewModel的引用,但我想知道什么是最好的,或者它是否重要。

我个人会创建一个适配器(val onClick:(clickedd)->Unit),在绑定ViewHolder时传递该onClick。在片段/活动方面,我将它用作:适配器(onClick={viewModel.doSomethingWithNetwork(clickedId)}) 然后在viewModel fun doSomethingwithNetwork()中{ 使用model/usecase触发调用并将结果发布到viewmodel中的livedata }