自己写的一个recycleview下拉加载
2017-06-26 15:09
387 查看
安利一个写markdown的奇招淫术,world转markdown工具,但是代码写word中不行的,先在csdn的编辑器中写,然后复制到word,然后转,即可。
word转markdown: https://word-to-markdown.herokuapp.com/
项目git地址:https://github.com/15539158137/SimpleRecyview/blob/master/README.md
![](https://img-blog.csdn.net/20170626150908565?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hiMjA1OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
具备基本功能,持续更新
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
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
相关文章推荐
- 自己封装的工具类,使用原生SwipeRefreshLayout+RecycleView实现下拉刷新和加载更多
- 你也可以自己写一个可爱 & 小资风格的Android加载等待自定义View
- Recycleview上拉刷新_下拉加载_侧滑删除加强篇
- RecycleView上拉刷新下拉加载
- 关于recycleview下拉加载更多数据问题补充
- XRecycleView实现上啦刷新下拉加载
- 你也可以自己写一个可爱 & 小资风格的Android加载等待自定义View
- Recycleview的上拉刷新与下拉加载
- RecycleView控件的使用(三) 实现上拉加载更多下拉刷新功能
- XRecyclerView实现RecyclerView下拉刷新上来加载 自己做了部分修改,使代码更简洁易用
- 一步一步封装自己的Recycleview,上拉加载
- 你也可以自己写一个可爱 & 小资风格的Android加载等待自定义View - 转
- ios UITableView封装之下拉-上提-图片异步加载
- ios UITableView封装之下拉-上提-图片异步加载
- ios UITableView封装之下拉-上提-图片异步加载
- 自己封装的一个基于ios的一个折叠tableView
- ios UITableView封装之下拉-上提-图片异步加载
- iOS学习笔记13— UITableView封装之下拉-上提-图片异步加载
- 关于UITableView上拉或下拉时加载数据思路
- 一个项目要被自己加载的swf的项目调用方法