我想用Hilt将我的viewModel注入RecyclerView中。 可以注入它,但是当recyclerView销毁时viewModel不会销毁。 用hilt将viewModel注入recyclerView的最佳方法是什么?
答案 0 :(得分:2)
不应将视图模型注入到适配器中,正如我在评论中读到的那样,您可以使用比这更好的方法,
假设您有一个包含多行的适配器,当用户单击时每行在它上面,它执行网络调用。
首先,创建一个 interface
interface Click {
fun onClick(index: Int, item: Model)
}
在您的适配器中,初始化它的一个实例,然后在您的 onBindViewHolder
yourview.setOnClickListener {v-> interface.onClick()}
不要忘记在你使用它的地方(Activity/Fragment/...)初始化界面。
这是比对每一行使用 ViewModel 更好的解决方案,后者可能会导致 SystemLeaks。