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