Android开发使用RecyclerView添加点击事件实例详解

Laila ·
更新时间:2024-11-15
· 1687 次阅读

目录

引言

一、RecyclerView基本使用

1. 添加适配器Adapter

2. 创建列表的每个项的item_layout.xml文件

3. 在activity中使用

二、RecyclerView点击事件详细步骤

1. 在RecyclerView对应的Adapter类里面新建接口

2. 在Adapter类里创建setOnItemClickListener方法

3. 在Adapter类的onBindViewHolder里给每个item设置回调

4. 在RecyclerView对应的Activity里添加点击事件

总结

引言

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<NewsInfo>, ): RecyclerView.Adapter<NewsAdapter.ViewHolder>() { 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文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_marginHorizontal="10dp" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:text="title" android:textSize="16sp" android:textColor="#000000" /> <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="200dp" /> <View android:layout_width="match_parent" android:layout_height="0.1dp" android:layout_marginTop="10dp" android:background="#d3d3d3" /> </LinearLayout> 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添加点击事件的资料请关注软件开发网其它相关文章!



事件 recyclerview android开发 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号