Android kotlin MVVM - 你可以在RecyclerView的适配器中调用ViewModel吗?
创始人
2024-08-14 13:00:34
0

在Android Kotlin MVVM架构中,可以在RecyclerView的适配器中调用ViewModel。以下是一种解决方法的示例:

  1. 首先,在适配器类中定义一个ViewModel实例变量:
class MyAdapter(private val viewModel: MyViewModel) : RecyclerView.Adapter() {
    // ...
}
  1. 在适配器的ViewHolder类中,定义一个方法来绑定数据和ViewModel:
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

    fun bindData(data: MyDataModel) {
        itemView.setOnClickListener {
            // 在这里可以调用ViewModel的方法
            viewModel.doSomethingWithData(data)
        }
    }
}
  1. 在适配器的 onCreateViewHolder 方法中,实例化ViewHolder并返回:
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
    val view = LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false)
    return ViewHolder(view)
}
  1. 在onBindViewHolder方法中,将数据绑定到ViewHolder并调用bindData方法:
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val data = dataList[position]
    holder.bindData(data)
}

通过这种方式,我们可以在RecyclerView的适配器中调用ViewModel的方法,并将数据传递给ViewModel进行处理。请注意,需要在适配器的构造函数中传递ViewModel实例,以便在适配器中访问ViewModel。

相关内容

热门资讯

黑科技技巧!途游游戏辅助工具&... 黑科技技巧!途游游戏辅助工具"普及辅助攻略"其实是有挂(哔哩哔哩)1、黑科技技巧!途游游戏辅助工具"...
今年以来!天天爱柳州有没有辅助... 今年以来!天天爱柳州有没有辅助器"总结辅助工具"一贯是有挂(哔哩哔哩)1、进入到天天爱柳州有没有辅助...
据了解!潘潘讲故事怎么开挂&q... 据了解!潘潘讲故事怎么开挂"教你辅助插件"竟然真的是有挂(哔哩哔哩)1、用户打开应用后不用登录就可以...
透视辅助!雀友圈斗地主辅助器&... 透视辅助!雀友圈斗地主辅助器"解谜辅助app"总是存在有挂(哔哩哔哩)1、下载好雀友圈斗地主辅助器透...
现场直击!决战卡五星有辅助吗&... 现场直击!决战卡五星有辅助吗"了解辅助软件"原来真的是有挂(哔哩哔哩)亲,关键说明,决战卡五星有辅助...
经调查!新星游辅助软件免费版&... 经调查!新星游辅助软件免费版"分享辅助脚本"本来是真的有挂(哔哩哔哩)1、玩家可以在新星游辅助软件免...
透视代打!创思维激k辅助器视频... 透视代打!创思维激k辅助器视频"教你辅助挂"确实是真的有挂(哔哩哔哩)透视代打!创思维激k辅助器视频...
透视辅助!丽水都莱脚本辅助&q... 透视辅助!丽水都莱脚本辅助"有挂辅助器"一直真的是有挂(哔哩哔哩)1、很好的工具软件,可以解锁游戏的...
技巧辅助挂!手机填大坑辅助器&... 技巧辅助挂!手机填大坑辅助器"分享辅助神器"果然确实有挂(哔哩哔哩)1、不需要AI权限,帮助你快速的...
今天下午!牵手跑辅助"... 今天下午!牵手跑辅助"有挂辅助工具"竟然是有挂(哔哩哔哩)该软件可以轻松地帮助玩家将牵手跑辅助外卦神...