我正在使用具有不同recyclerviewLinearLayout(具有垂直viewholders),其中一个具有另一个RecyclerView(具有水平LL)。在第二个recyclerView中,我正在使用ItemDecoration为除第一个以外的所有项目添加左边距。

与我的问题相关的第一个onBindViewHolderRecyclerView中的代码是:

RecyclerView mRecyclerView = holder.mRecyclerView;
mRecyclerView.addItemDecoration(new SpaceLeftItemDecoration(5));
mRecyclerView.setAdapter(new MyAdapter(mDataSet, context));
mRecyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false));


每次执行此代码时,都会将新的ItemDecorations添加到recyclerview。如果我上下滚动3或4次,第二个recyclerview中的项目之间的间隔确实很明显。

所以我的问题是,我怎么知道RecyclerView是否已经有一个ItemDecoration

谢谢。

最佳答案

是的,将此代码移到createViewHolder,因此将仅被调用一次。

09-12 10:30