RecyclerView单击侦听器,为什么不经常使用这种更简单的方法

时间:2018-06-06 15:50:41

标签: android android-intent android-recyclerview kotlin

这里是Android开发新手。我正在创建RecyclerView,在点击某些项目时会显示新活动。我在网上搜索,所有人都会定义一个点击监听器界面,将监听器传递给视图持有者,最终从主活动中调用startActivity

或者,我想出了以下内容。由于没有人使用这种方法,它有什么问题?它只是适配器类中的几行代码,似乎同样可以正常工作

override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
        when (holder) {
            is certainViewHolder -> {
                holder.itemView.setOnClickListener {
                    val intent = Intent(holder.itemView.context, DetailedActivity::class.java)
                    holder.itemView.context.startActivity(intent)
                }
            }
            else -> ...
        }
    }

1 个答案:

答案 0 :(得分:2)

您的方法没有错,很多人都使用它。通常第一种方法大多数时间使用,因为使用接口的调用方法是很好的做法当我们使用某些体系结构(如MVP或MVVM)创建项目时,我们需要使用接口调用所有方法。目前在您的项目中,您只需要开始一项活动,但很多时候我们需要执行更长且更困难的任务,因此最好在相关活动中执行。通过我们可以在同一个地方收集所有方法。