EasyRecycleView的使用方法
- 在这里简单的介绍以下EasyRecycleView的使用方法
本博客内容一致同步到本人的博客站点:http://www.zhoutaotao.xyz 欢迎访问留言交流
1、添加支持库
Gradle
dependencies {
compile 'com.camnter.easyrecyclerview:easyrecyclerview:1.1.0'
}
2、EasyRecycle适配器
自定义适配器需要继承EasyRecyclerViewAdapter
public class EasyDividerItemDecorationAdapter extends EasyRecyclerViewAdapter {
// 继承的方法
}
重写的方法:
+ public int[] getItemLayouts()
+ public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position)
+ public int getRecycleViewItemType(int position)
getItemLayouts()方法
主要是为了加载不同的布局
public int[] getItemLayouts() {
return new int[]{
R.layout.item_recyclerview_multiple, R.layout.item_recyclerview_single};
}
onBindRecycleViewHolder()方法
主要是进行数据适配
public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
int itemType = this.getRecycleViewItemType(position);//得到布局的索引
EasyRecyclerViewData data = this.getItem(position);//得到集合中的数据
switch (itemType) {//判断不同的布局
case MULTIPLE_ITEM_TYPE: {
TextView multipleTV = viewHolder.findViewById(R.id.recycler_view_mul_tv);
ImageView multipleIV = viewHolder.findViewById(R.id.recycler_view_mul_iv);
multipleTV.setText(data.content);
multipleIV.setImageResource(data.imageResId);
break;
}
case SINGLE_ITEM_TYPE: {
ImageView singleIV = viewHolder.findViewById(R.id.recycler_view_single_iv);
singleIV.setImageResource(data.imageResId);
break;
}
}
}
getRecycleViewItemType()方法
主要判断是为了加载布局的方法
public int getRecycleViewItemType(int position) {
return position%2;
}
3、在Activity中使用EasyRecycleView
- 在xml布局中使用EasyRecycleView
- 初始化数据
加载布局文件
很简单的布局文件,不简述了
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="chartopinyin.tao.cn.androidservice.MainActivity">
<com.camnter.easyrecyclerview.widget.EasyRecyclerView
android:id="@+id/easyRecycle"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.camnter.easyrecyclerview.widget.EasyRecyclerView>
</LinearLayout>
初始化数据
//绑定控件
easyRecyclerView= (EasyRecyclerView) findViewById(R.id.easyRecycle);
//创建适配器
easyRecyclerViewAdapter=new EasyRecycleAdapter();
//为控件绑定适配器
easyRecyclerView.setAdapter(easyRecyclerViewAdapter);
//配置分割线
easyRecyclerView.addItemDecoration(new EasyDividerItemDecoration(this,EasyDividerItemDecoration.VERTICAL_LIST));
//配置数据,参数为List集合
easyRecyclerViewAdapter.setList(arrayList);
//更新数据
easyRecyclerViewAdapter.notifyDataSetChanged();
//设置布局管理器
//- LinearLayoutManager(线性布局)
// GridLayoutManager(网格布局)
//StaggeredGridLayoutManager(瀑布流网格布局)
easyRecyclerView.setLayoutManager();
//配置动画
RecyclerView.setItemAnimator(ItemAnimator animator);