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。

相关内容

热门资讯

透视代打"hhpok... 透视代打"hhpoker外挂靠谱吗"详细辅助攻略方法(透视脚本视频攻略)1、不需要AI权限,帮助你快...
透视能赢"wpk辅助... 透视能赢"wpk辅助插件"详细辅助AA德州教程(游戏下载技巧);支持多人共享记分板与复盘,通过邀请好...
透视好友"hhpok... 透视好友"hhpoker透视方法"详细辅助必胜教程(可以免费玩教程);《WPK辅助透视》‌:支持手机...
透视了解"拱趴大菠萝... 透视了解"拱趴大菠萝自动计算机器人"详细辅助细节方法(辅助软件价格透明)是由北京得拱趴大菠萝自动计算...
透视免费"wepok... 透视免费"wepoker有辅助器吗"详细辅助力荐教程(万能挂软件);《WPK辅助透视》‌:支持手机实...
透视ai代打"约局吧... 《透视ai代打"约局吧如何查看是否有挂"详细辅助详细教程(辅助机器人技巧)》 约局吧如何查看是否有挂...
透视线上"德州局怎么... 透视线上"德州局怎么透视"详细辅助科技教程(有辅助技巧);建议优先通过德州局怎么透视透明挂内置帮助文...
透视软件"wpk作弊... 透视软件"wpk作弊"详细辅助新2025版(辅助器可以弄攻略)是一款可以让一直输的玩家,快速成为一个...
透视最新"uupok... 透视最新"uupoker透视"详细辅助微扑克教程(破解器有用技巧);小薇(透视辅助)致您一封信;亲爱...
透视透视"wepok... 透视透视"wepoker脚本下载"详细辅助玩家教程(有插件神器)1、不需要AI权限,帮助你快速的进行...