If you try to use FixItemDecorationRecyclerView this will definitely crash with ClassCastException in runtime.
As you can see in the source code:
@Override
protected void dispatchDraw(@NonNull Canvas canvas) {
for (int i = 0, count = getItemDecorationCount(); i < count; ++i) {
FixItemDecoration decor = (FixItemDecoration) getItemDecorationAt(i);
decor.getItemDecoration().onDraw(canvas, this, decor.getState());
}
super.dispatchDraw(canvas);
for (int i = 0, count = getItemDecorationCount(); i < count; ++i) {
FixItemDecoration decor = (FixItemDecoration) getItemDecorationAt(i);
decor.getItemDecoration().onDrawOver(canvas, this, decor.getState());
}
}
@Override
public void addItemDecoration(@NonNull ItemDecoration decor, int index) {
super.addItemDecoration(new FixItemDecoration(decor), index);
}
@NonNull
@Override
public ItemDecoration getItemDecorationAt(int index) {
return ((FixItemDecoration) super.getItemDecorationAt(index)).getItemDecoration();
}
You wrap ItemDecorations into FixItemDecoration (see addItemDecoration method) and then you cast it in such a way FixItemDecoration decor = (FixItemDecoration) getItemDecorationAt(i); (see dispatchDraw method)
If you try to use FixItemDecorationRecyclerView this will definitely crash with ClassCastException in runtime. As you can see in the source code:
You wrap ItemDecorations into FixItemDecoration (see addItemDecoration method) and then you cast it in such a way
FixItemDecoration decor = (FixItemDecoration) getItemDecorationAt(i);
(see dispatchDraw method)Please fix this.