给网友朋友们带来一篇相关的编程文章,网友文英悟根据主题投稿了本篇教程内容,涉及到Android、RecyclerView添加点击事件、Android、RecyclerView、Android RecyclerView添加点击事件相关内容,已被609网友关注,相关难点技巧可以阅读下方的电子资料。
Android RecyclerView添加点击事件
引言
RecyclerView是在Android5.0版本作为support-v7的一个组件出现,高效替代了最初的ListView等列表组件。
使用上实现了视图代码解耦,功能上具备强大的item复用机制,并且提供默认多种LayoutMananger用来处理多种布局,本篇介绍给RecyclerView基本使用和添加点击事件。
添加RecyclerView
依赖
implementation 'androidx.recyclerview:recyclerview:1.1.0'
一、RecyclerView基本使用
1. 添加适配器Adapter
class NewsAdapter(private val newsList: List, ): RecyclerView.Adapter () { class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { // 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) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { // 绑定数据 } override fun getItemCount(): Int { return myList.size } }
2. 创建列表的每个项的item_layout.xml文件
3. 在activity中使用
// 设置LayoutManager,这里选用LinearLayoutManager线性布局作为示例 recyclerView.layoutManager = LinearLayoutManager(MyApplication.context) // 创建适配器 val newsAdapter = NewsAdapter(newsList) // 设置适配器 recyclerView.adapter = newsAdapter
二、RecyclerView点击事件详细步骤
1. 在RecyclerView对应的Adapter类里面新建接口
//创建OnItemClickListener接口 interface OnItemClickListener { fun onItemClick(position: Int) }
2. 在Adapter类里创建setOnItemClickListener方法
//声明一个mItemClickListener接口 private var mOnItemClickListener: OnItemClickListener? = null //添加setOnItemClickListener方法 fun setOnItemClickListener(listener: OnItemClickListener?) { mOnItemClickListener = listener }
3. 在Adapter类的onBindViewHolder里给每个item设置回调
override fun onBindViewHolder(holder: ViewHolder, position: Int) { ...... //给每个Item的点击事件设置回调 holder.itemView.setOnClickListener { mOnItemClickListener?.onItemClick(position) } }
4. 在RecyclerView对应的Activity里添加点击事件
val adapter = YourAdapter(YourData) //适配器 adapter.setOnItemClickListener(object : YourAdapter.OnItemClickListener { override fun onItemClick(position: Int) { Toast.makeText(this@YourActivity, "You clicked No.${position} item.", Toast.LENGTH_SHORT).show() } })
总结
- 在
RecyclerView
对应的Adapter
类里面新建接口 - 在
Adapter
类里创建setOnItemClickListener
方法 - 在
Adapter
类的onBindViewHolder
里给每个item
设置回调 - 在
RecyclerView
对应的Activity
里添加点击事件
以上就是Android开发使用RecyclerView添加点击事件实例详解的详细内容,更多关于Android RecyclerView添加点击事件的资料请关注码农之家其它相关文章!