自己写的一个recycleview下拉加载
来源:互联网 发布:软件系统推广验收 编辑:程序博客网 时间:2024/06/08 06:51
安利一个写markdown的奇招淫术,world转markdown工具,但是代码写word中不行的,先在csdn的编辑器中写,然后复制到word,然后转,即可。
word转markdown: https://word-to-markdown.herokuapp.com/
项目git地址:https://github.com/15539158137/SimpleRecyview/blob/master/README.md
具备基本功能,持续更新
1.常规使用:xml、间距、刷新加载布局更改等
1.关于adapter //设置刷新和加载的监听 //使用时需注意,传入stopRefreshOrLoad()的list,不能是adapter中的list,必须是一个其他的list recycleview.setOnScrollChanListener(new SimpleRecycleview.OnScrollChanListener() { @Override public void onRefresh() { if(newList.size()>0){ newList.remove(newList.size()-1); } recycleview.stopRefreshOrLoad(newList); } @Override public void loadMore() { newList.add(new MyBean()); recycleview.stopRefreshOrLoad(newList); } @Override public void onTimeOut() { } });
间距和刷新加载布局的更改
//设置item间距的方法 recycleview.setItemDe((int) (MyUtils.getHeight(MainActivity.this) * 0.01)); //自定义头部和底部的layout,里面需要传递一个view过去 // mRecycleviewAdapter.setHeadView(LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_main, null)); // mRecycleviewAdapter.setFootView(LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_main, null));
2.关于adapter的使用
继承SimpleRecycleviewAdapter,重写onCreateViewHolder和onBindViewHolder方法
@Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { /*重写该方法,在viewType等于1的时候,写入自己的viewholder*/ if (viewType == 1) { //这里返回你自己的viewholder View view = LayoutInflater.from(mContext).inflate(R.layout.item, null); RecyclerView.LayoutParams layoutParams = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); layoutParams.height = (int) (MyUtils.getHeight(mContext) * 0.1); view.setLayoutParams(layoutParams); return new MyViewHolder(view); } else { return super.onCreateViewHolder(parent, viewType); } } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { super.onBindViewHolder(holder, position); if (mList.get(position).getBeanType() == 1) { //其他照抄,下面的数据绑定写自己的 MyViewHolder myViewHold = (MyViewHolder) holder; myViewHold.textView.setText("第" + position + "位置数据"); } }3.关于刷新和加载的回调
//使用时需注意,传入stopRefreshOrLoad()的list,不能是adapter中的list,必须是一个其他的list recycleview.setOnScrollChanListener(new SimpleRecycleview.OnScrollChanListener() { @Override public void onRefresh() { if(newList.size()>0){ newList.remove(newList.size()-1); } recycleview.stopRefreshOrLoad(newList); } @Override public void loadMore() { newList.add(new MyBean()); recycleview.stopRefreshOrLoad(newList); } @Override public void onTimeOut() { } }); }
4.关于bean
必须继承SimpleBean
5.注意点
在回调中传入的list不能是adapter的list,必须实例化一个新的list
阅读全文
0 0
- 自己写的一个recycleview下拉加载
- 一个支持下拉自动加载的recycleview
- 自己封装的工具类,使用原生SwipeRefreshLayout+RecycleView实现下拉刷新和加载更多
- RecycleView的上啦加载下拉刷新
- 自己写的一个Ajax连动下拉框组
- 自定义下拉刷新和上拉加载的recycleview
- 轻松实现RecycleView的下拉刷新、加载更多
- 【实训】自定义上拉加载下拉刷新的RecycleView
- Recycleview下拉刷新,上拉加载的思路
- Recycleview的上拉刷新与下拉加载
- 下拉刷新 上拉加载的 ListView RecycleView ScorllView
- 一步一步封装自己的Recycleview,上拉加载
- RecycleView下拉刷新控件的封装(包括下拉刷新和加载更多 )
- RecycleView上拉加载和下拉刷新
- RecycleView下拉刷新上拉加载
- recycleView下拉刷新上拉加载
- RecycleView上拉刷新下拉加载
- RecycleView的头部加载
- Hue中Hive editor中文报错
- response.setHeader方法
- Laravel 5.4 官方文档摘记:中间件
- OpenCV嵌入式图像处理(三)使用Jetpack安装OpenCV4Tegra
- Python MySQL 1054 "Unknown column '\xe7\x88\xb1\xe6\x83\x85' in 'where clause'"错误分析
- 自己写的一个recycleview下拉加载
- php删除二维数组中的重复值
- Smallest Common Multiple
- Java的特殊类——数组对象的类
- Java学习笔记——数组
- Ubuntu常用命令大全
- [dts]DTS实例分析
- CSS -- 图片宫格不变形显示
- provider: SQL Network Interfaces, error: 26