BaseRecyclerViewAdapterHelper的使用
来源:互联网 发布:windows凭据 编辑:程序博客网 时间:2024/06/05 00:11
一.配置
在 build.gradle 的 repositories 添加:
allprojects { repositories { maven { url "https://jitpack.io" } }}
然后增加dependencies
dependencies { compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:v1.9.7'}
二.使用
1,单类型BaseQuickAdapter使用
//这里的泛型:是你请求网络返回的Bean对象,这里模拟,就用Stringpublic class TreasureFragmentAdapter extends BaseQuickAdapter<String> { //构造方法, 第一个参数是你条目的布局Id,第二个是列表的数据集合 public TreasureFragmentAdapter(int layoutResId, List<String> data) { super(layoutResId, data); } @Override//参数一:原生的Holder ,参数二: 对应位置的数据 protected void convert(BaseViewHolder baseViewHolder, String s) { //找到控件对象,进行强转,然后设置数据 ((TextView) baseViewHolder.getView(R.id.tv)).setText(s); //这里是条目里边的子控件的点击事件 baseViewHolder.setOnClickListener(R.id.tv,new OnItemChildClickListener()).setOnClickListener(R.id.tv,new OnItemChildClickListener()); }
页面代码:
找控件
this.recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
//模拟数据 for (int i = 0; i < 100; i++) { arr.add(i + ""); } //设置加载方式 recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); //创建Adapter adapter = new TreasureFragmentAdapter(R.layout.image, arr); //设置Adapter recyclerView.setAdapter(adapter);
整个条目的点击事件
//条目点击事件 adapter.setOnRecyclerViewItemClickListener(new BaseQuickAdapter.OnRecyclerViewItemClickListener() { @Override public void onItemClick(View view, int i) { //adapter.getData().get(i)表示获取对应位置的数据 showToast(adapter.getData().get(i)+"条目被点击"); } });
//条目里边控件的点击事件adapter.setOnRecyclerViewItemChildClickListener(new BaseQuickAdapter.OnRecyclerViewItemChildClickListener() { @Override public void onItemChildClick(BaseQuickAdapter baseQuickAdapter, View view, int i) { showToast(adapter.getData().get(i)+"条目里边控件被点击"); } });
注意: 条目点击和条目里边的控件点击不会有冲突
长按事件雷同上边的点击事件
添加动画
adapter.openLoadAnimation();
**系统默认的5种动画如下:**public static final int ALPHAIN = 1; public static final int SCALEIN = 2; public static final int SLIDEIN_BOTTOM = 3; public static final int SLIDEIN_LEFT = 4; public static final int SLIDEIN_RIGHT = 5;
添加头和脚View
adapter.addHeaderView(View.inflate(getActivity(),R.layout.image,null)); adapter.addHeaderView(View.inflate(getActivity(),R.layout.image,null)); adapter.addHeaderView(View.inflate(getActivity(),R.layout.image,null)); adapter.addHeaderView(View.inflate(getActivity(),R.layout.image,null)); adapter.addFooterView(View.inflate(getActivity(),R.layout.image,null)); adapter.addFooterView(View.inflate(getActivity(),R.layout.image,null)); adapter.addFooterView(View.inflate(getActivity(),R.layout.image,null));
**注意:支持添加多个头和脚,位置会根据你天机头的多少进行调整,你什么都不需要做
且头部的处理也是在对应的页面上进行使用**
下拉刷新和上拉加载更多
上拉刷新可以使用Spring进行动画的自定义,效果更炫
加载更多可以使用Adapter用户体验更好
加载更多代码:
//打开加载更多开关 adapter.openLoadMore(arr.size(),true);
//加载更多回调adapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { @Override public void onLoadMoreRequested() { //不用post设置加载数据会报错,至于为什么会报错,还是不确定,这里边全是主线程 recyclerView.post(new Runnable() { @Override public void run() { adapter.notifyDataChangedAfterLoadMore(arr2,false); } }); } });
侧滑的Adapter
传送门
阅读全文
1 0
- BaseRecyclerViewAdapterHelper的使用
- 强大的BaseRecyclerViewAdapterHelper使用
- BaseRecyclerViewAdapterHelper的使用
- 强大的BaseRecyclerViewAdapterHelper使用
- RecyclerView+BaseRecyclerViewAdapterHelper的基本使用
- BaseRecyclerViewAdapterHelper的使用姿势问题
- 使用BaseRecyclerViewAdapterHelper
- 简单介绍使用BaseRecyclerViewAdapterHelper
- BaseRecyclerViewAdapterHelper简单使用
- Recycleview的使用以及编写Recycleview适配器的框架-BaseRecyclerViewAdapterHelper
- BaseRecyclerViewAdapterHelper的配置
- BaseRecyclerViewAdapterHelper的使用方法介绍
- BaseRecyclerViewAdapterHelper
- BaseRecyclerViewAdapterHelper
- 升级版的Adapter--------BaseRecyclerViewAdapterHelper
- 开源库BaseRecyclerViewAdapterHelper的简单用法
- BaseRecyclerViewAdapterHelper之BaseQuickAdapter的基础用法
- 万能RecyclerView的数据适配器BaseRecyclerViewAdapterHelper
- JAVA中最常用的十个快捷键
- Activity的启动模式
- aidl在android studio中创建的另类方式
- JS之获取指定位置Unicode的charCodeAt()方法
- docker容器和Linux的一些指定,以便自己查阅
- BaseRecyclerViewAdapterHelper的使用
- 常用控件之ImageView
- 不固定宽高img在div中水平且垂直居中
- 如何自动计算屏幕滚动时加载事件?
- Android 中如何实现 显示和隐藏软键盘
- 上海中国电信IPTV频道列表
- 示例:产品模块组件式搭建
- wamp扩展ssh
- 自动点击事件