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。

相关内容

热门资讯

实测交流!wepoker怎么看... 实测交流!wepoker怎么看底牌,wepoker破解是真的还是假的,2025新版教程(有挂方法);...
每日必看教程!wepoker有... 1、每日必看教程!wepoker有没有机器人,werplan外挂,教你攻略(有挂教程)2、进入游戏-...
发现玩家!wepoker能不能... 1、发现玩家!wepoker能不能透视,pokemmo辅助脚本,实用技巧(有挂攻略);详细教程。2、...
玩家实测!德扑圈透视,德普之星... 玩家实测!德扑圈透视,德普之星透视辅助软件激活码,解密教程(有挂神器)科技教程也叫必备教程,这是一款...
玩家必看!xpoker辅助神器... 玩家必看!xpoker辅助神器,哈糖大菠萝有挂吗,技巧教程(有挂技巧)是一款可以让一直输的玩家,快速...
信息共享!wepoker怎么看... 1、信息共享!wepoker怎么看底牌,pokemmo手机辅助软件,wpk教程(有挂神器)。2、po...
盘点一款!拱趴大菠萝万能挂图解... 盘点一款!拱趴大菠萝万能挂图解,wpk模拟器多开,解密教程(有挂攻略),支持语音通讯、好友开房及战队...
实测必看!wejoker辅助软... 实测必看!wejoker辅助软件价格,德普之星辅助器怎么用,2025新版总结(有挂教程)准备好在德普...
一分钟教会你!wpk作弊最怕三... 一分钟教会你!wpk作弊最怕三个东西,德扑圈有透视吗,玩家教你(有挂透明);1.wpk作弊最怕三个东...
玩家必备科技!有没有人wepo... 1、玩家必备科技!有没有人wepoker,wepoker免费脚本咨询,解密教程(有挂辅助)2、进入游...