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 】
相关推荐:
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
浅谈javascript alert和confirm的美化
原生JS实现图片轮播切换效果
浅谈redis在项目中的应用
佛山企业网站制作公司有哪些,沟通100网上服务官网?
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
IOS倒计时设置UIButton标题title的抖动问题
油猴 教程,油猴搜脚本为什么会网页无法显示?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
浅析上传头像示例及其注意事项
Thinkphp 中 distinct 的用法解析
深入理解Android中的xmlns:tools属性
如何快速查询网址的建站时间与历史轨迹?
Laravel如何处理CORS跨域请求?(配置示例)
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
如何在万网自助建站中设置域名及备案?
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Laravel怎么为数据库表字段添加索引以优化查询
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
如何在阿里云香港服务器快速搭建网站?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何用花生壳三步快速搭建专属网站?
Laravel Session怎么存储_Laravel Session驱动配置详解
如何在腾讯云服务器快速搭建个人网站?
Android Socket接口实现即时通讯实例代码
Laravel怎么清理缓存_Laravel optimize clear命令详解
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
Python文件异常处理策略_健壮性说明【指导】
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
EditPlus中的正则表达式实战(6)
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
活动邀请函制作网站有哪些,活动邀请函文案?
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel如何生成API文档?(Swagger/OpenAPI教程)
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
如何用AWS免费套餐快速搭建高效网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
高防服务器如何保障网站安全无虞?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
WEB开发之注册页面验证码倒计时代码的实现
Mybatis 中的insertOrUpdate操作

