我正在使用具有不同recyclerview
的LinearLayout
(具有垂直viewholders
),其中一个具有另一个RecyclerView
(具有水平LL)。在第二个recyclerView
中,我正在使用ItemDecoration
为除第一个以外的所有项目添加左边距。
与我的问题相关的第一个onBindViewHolder
的RecyclerView
中的代码是:
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
,因此将仅被调用一次。