Android 回收视图项目装饰
我有一个GridLayoutManager的回收视图 我设置了一个自定义项装饰:Android 回收视图项目装饰,android,android-recyclerview,Android,Android Recyclerview,我有一个GridLayoutManager的回收视图 我设置了一个自定义项装饰: public class ListDetailsItemDecoration extends RecyclerView.ItemDecoration { private int space; public ListDetailsItemDecoration(int space) { this.space = space; } @Override
public class ListDetailsItemDecoration extends RecyclerView.ItemDecoration {
private int space;
public ListDetailsItemDecoration(int space) {
this.space = space;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int itemPosition = parent.getChildPosition(view);
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
if(itemPosition == 0 || itemPosition == 1) {
outRect.top = space;
}
if(itemPosition % 2 == 0) {
outRect.right = space / 2;
} else {
outRect.left = space / 2;
}
}
}
在我需要移除任何人之前,它都非常有效
notifyItemRemoved(position);
网格未调整大小
有什么想法吗?您通知适配器了吗?notifyDataSetChanged()?我遇到了相同的问题调用notifyItemMoved()时遇到了相同的问题您确定这与项目装饰有关吗?看起来更像是适配器的问题。您是否更新了recyclerview的支持列表?