RecyclerView原生的上拉加载与下拉刷新及点击监听事件
来源:互联网 发布:windows正版多少钱 编辑:程序博客网 时间:2024/05/22 13:34
刷新和加载
//刷新mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { page = 1; getData(); adapter.updateData(data); srl.setRefreshing(false); } }); //加载更多 mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); //managerrecycler的布局管理器 int lastVisibleItemPosition = manager.findLastVisibleItemPosition(); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItemPosition == adapter.getItemCount() - 1) { Log.d("MainActivity===", "=============最后一条"); page++; getData(); adapter.addData(data); } } });
自定义点击事件
//自定义接口类public interface OnClickRecyclerListner { void onItemClick(View view,int position); void onLongItemClick(View view,int position);}//adapter点击事件; private OnClickRecyclerListner listner; //设置点击事件; public void setLisner(OnClickRecyclerListner lisner){ this.listner=lisner; }//返回对应的viewholder @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.item, null); final MyViewHolder holder=new MyViewHolder(view); //判断是否设置了点击事件; if(listner!=null){ view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //holder.getLayoutPosition()获取点击的条目位置; listner.onItemClick(view,holder.getLayoutPosition()); } }); view.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { listner.onLongItemClick(view,holder.getLayoutPosition()); //防止与click事件冲突 return true; } }); } return holder; }//MainActivity调用adapter.setLisner(new OnClickRecyclerListner() { @Override public void onItemClick(View view, int position) { Toast.makeText(MainActivity.this,position+"",Toast.LENGTH_LONG).show(); } @Override public void onLongItemClick(View view, int position) { Toast.makeText(MainActivity.this,position+" 长摁",Toast.LENGTH_SHORT).show(); } });
阅读全文
0 0
- RecyclerView原生的上拉加载与下拉刷新及点击监听事件
- RecyclerView下拉刷新上拉加载+点击监听
- RecyclerView实现上拉刷新,下拉加载,item点击事件
- okhhtp + recyclerview + 上拉刷新下拉加载 + 点击事件
- RecyclerView的点击事件,下拉刷新,上拉加载(Android5.0)
- RecyclerView系列(二)下拉刷新、上拉加载、Item点击监听
- RecyclerView的上拉刷新与下拉加载
- RecyclerView的下拉刷新数据 与上拉加载更多
- RecyclerView的上拉加载,下拉刷新
- RecyclerView使用详解一代替ListView(点击事件,添加头布局,上拉刷新下拉加载)
- retrofit+RecyclerView+SwipeRefreshLayout下拉刷新上拉加载+item点击
- android 打造真正的下拉刷新上拉加载recyclerview(三):下拉刷新上拉加载
- android 打造真正的下拉刷新上拉加载recyclerview(三):下拉刷新上拉加载
- PullRecyclerView上拉刷新下拉加载点击事件
- PullLoadMoreRecyclerView下拉刷新上拉加载+点击事件
- Android SwipeRefreshLayout+RecyclerView下拉刷新与上拉加载
- Swiperefreshlayout与Recyclerview下拉刷新和上拉加载
- RecyclerView上拉刷新与下拉加载封装
- angular的实现商品信息的增 删 查
- Linux top命令的用法详细详解
- 使用librtmp进行H264与AAC直播
- onclick事件 加完参数不起作用
- 好文章,需收藏
- RecyclerView原生的上拉加载与下拉刷新及点击监听事件
- opencv里可以调整大小的画图窗口: imshow, namedwindow
- 一个网络判断的工具类
- 安卓LocationManager获取当前地理位置(经纬度)
- Linux 查看服务器防火墙拦截端口
- dubbo源码 学习笔记(二)
- Day1
- C++面试题汇总(持续更新)
- [RK3288][Android6.0] 调试笔记 --- Goodix GT9和GT9F区别