Android recycleView的应用和点击事件实例详解
发布时间 - 2026-01-10 22:05:29 点击率:次Android recycleView的应用和点击事件

效果图:
长按是删除:
下面代码:
MainActivity 类
public class MainActivity extends AppCompatActivity {
RecyclerView rv;
List<String> mList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rv = (RecyclerView) findViewById(R.id.rv);
for (int i = 0; i < 1000; i++) {
mList.add("条目" + i);
}
final MyAdapter adapter = new MyAdapter(this, mList);
adapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() {
@Override
public void onClick(int position) {
Toast.makeText(getBaseContext(), "点击的是" + position + "的itemClick", Toast.LENGTH_SHORT).show();
}
});
adapter.setOnItemLongClickListener(new MyAdapter.OnItemLongClickListener() {
@Override
public void onLongClick(int position) {
//长按删除数据
mList.remove(position);
adapter.notifyDataSetChanged();
}
});
rv.setAdapter(adapter);
//布局管理器
rv.setLayoutManager(new StaggeredGridLayoutManager(5, StaggeredGridLayoutManager.VERTICAL));
}
public static class VH extends RecyclerView.ViewHolder {
TextView tv;
public VH(View itemView) {
super(itemView);
tv = (TextView) itemView.findViewById(android.R.id.text1);
tv.setBackgroundResource(R.drawable.bg);
}
}
}
MyAdapter.java类
public class MyAdapter extends RecyclerView.Adapter<MainActivity.VH> {
Context mContext;
List<String> mList;
public MyAdapter(Context context, List<String> list) {
this.mContext = context;
this.mList = list;
}
@Override
public MainActivity.VH onCreateViewHolder(ViewGroup parent, int viewType) {
return new MainActivity.VH(View.inflate(mContext, android.R.layout.simple_list_item_1, null));
}
@Override
public void onBindViewHolder(MainActivity.VH holder, final int position) {
holder.tv.setText(mList.get(position));
//自己做item点击
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onItemClickListener != null)
onItemClickListener.onClick(position);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (onItemLongClickListener != null)
onItemLongClickListener.onLongClick(position);
//返回false会在长安结束后继续点击
return true;
}
});
}
@Override
public int getItemCount() {
return mList.size();
}
/**
* 点击
*/
public interface OnItemClickListener {
void onClick(int position);
}
OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
public interface OnItemLongClickListener {
void onLongClick(int position);
}
OnItemLongClickListener onItemLongClickListener;
public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) {
this.onItemLongClickListener = onItemLongClickListener;
}
}
activity_main.xml类
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.administrator.lesson10_recyclerview2.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# recycleView
# recycleView详解及实例
# recycleView应用点击事件
# 在RecyclerView中实现button的跳转功能
# Android 中RecycleView实现item的点击事件
# Recycleview实现无限自动轮播
# Android实现Recycleview悬浮粘性头部外加右侧字母导航
# 去掉RecycleView或者ListView上下滑动阴影的方法
# Android移动开发recycleView的页面点击跳转设计实现
# 的是
# 长安
# 会在
# 希望能
# 管理器
# 谢谢大家
# 结束后
# OnItemClickListener
# setOnItemClickListener
# adapter
# position
# onClick
# findViewById
# id
# int
# MyAdapter
# final
# add
# Toast
# setAdapter
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python函数文档自动校验_规范解析【教程】
中山网站推广排名,中山信息港登录入口?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
如何用好域名打造高点击率的自主建站?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
新三国志曹操传主线渭水交兵攻略
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
如何用AI帮你把自己的生活经历写成一个有趣的故事?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
微信小程序 require机制详解及实例代码
高防服务器:AI智能防御DDoS攻击与数据安全保障
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
原生JS实现图片轮播切换效果
如何在IIS中新建站点并解决端口绑定冲突?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
敲碗10年!Mac系列传将迎来「触控与联网」双革新
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Python文件流缓冲机制_IO性能解析【教程】
高性能网站服务器部署指南:稳定运行与安全配置优化方案
php json中文编码为null的解决办法
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
如何快速生成专业多端适配建站电话?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
如何在橙子建站上传落地页?操作指南详解
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
微信小程序 五星评分(包括半颗星评分)实例代码
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
如何将凡科建站内容保存为本地文件?
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
如何彻底卸载建站之星软件?
android nfc常用标签读取总结
如何打造高效商业网站?建站目的决定转化率
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel如何使用withoutEvents方法临时禁用模型事件
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
简单实现jsp分页
jQuery 常见小例汇总
Android GridView 滑动条设置一直显示状态(推荐)
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程

