demo效果

EasyAdapterForRecyclerView.gif
GitHub上的源碼
介紹
EasyAdapter是用于RecyclerView的適配器,在原有的適配器基礎(chǔ)上可支持監(jiān)聽相應(yīng)的事件并設(shè)置點(diǎn)擊模式、單選和多選模式。在多選模式下,可設(shè)置最大可選數(shù)量,以及提供了全選、反選等接口。
使用
對(duì)于Android Studio用戶,可添加:
compile 'com.hz.androids.easyadapter:library:1.0'
1.自定義Adapter繼承EasyAdapter
private class MyAdapter extends EasyAdapter<MyViewHolder> {
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
...
}
/*
whenBindViewHolder方法:相當(dāng)于原生Adapter.onBindViewHolder
*/
@Override
public void whenBindViewHolder(MyViewHolder holder, int position) {
...
}
@Override
public int getItemCount() {
return list.size();
}
}
2.RecycleView設(shè)置自定義的適配器
MyAdapter myAdapter = new MyAdapter();
recyclerView.setAdapter(myAdapter);
3.可切換點(diǎn)擊、單選、多選模式
//點(diǎn)擊模式
myAdapter.setSelectMode(EasyAdapter.SelectMode.CLICK);
//單選模式
myAdapter.setSelectMode(EasyAdapter.SelectMode.SINGLE_SELECT);
//多選模式
myAdapter.setSelectMode(EasyAdapter.SelectMode.MULTI_SELECT);
4.在自定義適配器中設(shè)置相應(yīng)模式的監(jiān)聽器
// 監(jiān)聽點(diǎn)擊事件
myAdapter.setOnItemClickListener(new EasyAdapter.OnItemClickListener() {
@Override
public void onClicked(int clickPosition) {
...
}
});
//監(jiān)聽單選事件
myAdapter.setOnItemSelectListener(new EasyAdapter.OnItemSelectListener() {
@Override
public void onSelected(int selectedPosition) {
...
}
});
//監(jiān)聽多選事件
myAdapter.setOnItemMultiSelectListener(new EasyAdapter.OnItemMultiSelectListener() {
@Override
public void onMultiSelected(int multSelectedPosition) {
...
});