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。

相关内容

热门资讯

在玩家背景下!潮汕激k破解版无... 在玩家背景下!潮汕激k破解版无限房卡!果然真的是有辅助工具(有挂秘笈)1、下载好潮汕激k破解版无限房...
今年以来!jj斗地主有透视吗!... 今年以来!jj斗地主有透视吗!其实确实有辅助神器(有挂细节)1、jj斗地主有透视吗透视辅助软件激活码...
热点推荐!决战卡五星辅助ios... 热点推荐!决战卡五星辅助ios!确实真的有辅助app(存在有挂)运决战卡五星辅助ios辅助工具,进入...
据文件显示!老友辅助器!总是是... 据文件显示!老友辅助器!总是是真的有辅助技巧(确实有挂);1、老友辅助器破解器简单,老友辅助器机器人...
玩家必看科普!途游四川小程序脚... 玩家必看科普!途游四川小程序脚本辅助!本来真的是有辅助app(详细教程)1.途游四川小程序脚本辅助 ...
1.9分钟了解!打哈儿麻将辅助... 1.9分钟了解!打哈儿麻将辅助下载!一直真的有辅助器(有挂教学)1、每一步都需要思考,不同水平的挑战...
事发当天!网易水润血战到底辅助... 事发当天!网易水润血战到底辅助!真是是有辅助插件(有挂方式)1、网易水润血战到底辅助模拟器是什么优化...
必知教程!连连看辅助源码!好像... 必知教程!连连看辅助源码!好像确实有辅助脚本(有挂神器)一、连连看辅助源码游戏安装教程牌型概率发牌机...
教程攻略!微乐智能辅助软件是真... 教程攻略!微乐智能辅助软件是真的吗!一直存在有辅助挂(讲解有挂)1、超多福利:超高返利,海量正版游戏...
经核实!四川途游破解安装包!原... 经核实!四川途游破解安装包!原来确实有辅助软件(有挂存在)1、任何四川途游破解安装包透视是真的假的的...