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

  1. Multiple data set can be added to the adapter. WikiDoc

  2. Adds different ItemDecoration for different ItemBinders. WikiDoc

  3. Single and Multiple selection options are available. WikiDoc

  4. Out of the box support for DiffUtil. WikiDoc

  5. Custom span count for every binder. WikiDoc

  6. Data binding support. WikiDoc

  7. Advanced drag and drop support. WikiDoc

  8. Swipe to dismiss. WikiDoc

  9. Infinite scrolling. WikiDoc

  10. Helper class for contextual action mode. WikiDoc

  11. Items can be expanded/collapsed. WikiDoc

  12. Groups can be expanded/collapsed. WikiDoc

已下载
0