BaseRecyclerViewAdapterHelper(适配器框架)的简单使用
项目开始之前先导入依赖包:
放在app目录下的build里面的dependencies闭包下(版本号根据自己的来自适应)
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
看一下工程结构:
先来说一下两个布局文件:
1.activity_main:里边放一个recyclerview就可以 (PS:v7包下的recyclerview)
2.layout_item:这是你的item,也就是每一行的样式,自己根据自己的来,简单的就只添加一个TextView就可以了
再来一下java文件:
1.Bean:实体类 写好自己想要的字段 然后添加它们的getter和setter方法就可以了
2.AdapterDemo:这是继承BaseRecyclerViewAdapterHelper的类,需要重写BaseRecyclerViewAdapterHelper的方法:
//继承BaseQuickAdapter,Bean是数据实体类,BaseViewHolder直接写上然后导入就行
public class AdapterDemo extends BaseQuickAdapter<Bean, BaseViewHolder> {
public AdapterDemo(int layoutResId, @Nullable List<Bean> data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, Bean item) {
//**设置控件的内容等操作,一参:指定控件 二参:从实体类获取数据赋值给一参的控件**
helper.setText(R.id.my_tv_content, item.getmName())
.setImageResource(R.id.my_img, item.getmId());
}
}
3.MainActivity:初始化数据,以及给RecyclerView添加适配器:
public class MainActivity extends AppCompatActivity {
private List<Bean> beanList;
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化recyclerview以及设置布局方式
recyclerView = findViewById(R.id.recyclerview);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
//通过实体类向ArrayList中添加数据
beanList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Bean bean = new Bean();
bean.setmName("123132132");
bean.setmId(R.drawable.ic_launcher_background);
beanList.add(bean);
}
//通过适配器对象来对列表进行操作
//一参:你的item布局,二参:你的ArrayList对象
final AdapterDemo adapterDemo = new AdapterDemo(R.layout.layout_item, beanList);
adapterDemo.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Toast.makeText(MainActivity.this, beanList.get(position).getmName() + "123", Toast.LENGTH_SHORT).show();
}
});
//给recyclerview设置适配器
recyclerView.setAdapter(adapterDemo);
}
}
这样就完成了,一个最基本最简单的滑动列表就实现了!