MultiViewAdapter
介绍:
一个多功能的Recyclerview Adapter控件,支持多类型item,单选,多选,侧滑删除,拖拽等。
运行效果:
使用说明:
dependency
dependencies {
compile 'com.github.devahamed:multi-view-adapter:1.2.0'
// If you want to use data binding
compile 'com.github.devahamed:multi-view-adapter-databinding:1.2.0'
}
最简单的例子,显示car列表:
CarBinder
class CarBinder extends ItemBinder<CarModel, CarBinder.CarViewHolder> {
@Override public CarViewHolder create(LayoutInflater inflater, ViewGroup parent) {
return new CarViewHolder(inflater.inflate(R.layout.item_car, parent, false));
}
@Override public boolean canBindData(Object item) {
return item instanceof CarModel;
}
@Override public void bind(CarViewHolder holder, CarModel item) {
// Bind the data here
}
static class CarViewHolder extends BaseViewHolder<CarModel> {
// Normal ViewHolder code
}
}
Activity/Fragment
class CarListActivity extends Activity {
private RecyclerView recyclerView;
private List<CarModel> cars;
public void initViews() {
SimpleRecyclerAdapter<CarModel, CarBinder> adapter =
new SimpleRecyclerAdapter<>(new CarBinder());
recyclerView.setAdapter(adapter);
adapter.setDataList(cars);
}
}
其它功能见wiki
-
Multiple data set can be added to the adapter. WikiDoc
-
Adds different ItemDecoration for different ItemBinders. WikiDoc
-
Single and Multiple selection options are available. WikiDoc
-
Out of the box support for DiffUtil. WikiDoc
-
Custom span count for every binder. WikiDoc
-
Data binding support. WikiDoc
-
Advanced drag and drop support. WikiDoc
-
Swipe to dismiss. WikiDoc
-
Infinite scrolling. WikiDoc
-
Helper class for contextual action mode. WikiDoc
-
Items can be expanded/collapsed. WikiDoc
-
Groups can be expanded/collapsed. WikiDoc
已下载
0