我正在使用具有不同 viewholders
的 recyclerview
(具有垂直 LinearLayout
),其中一个有另一个 RecyclerView
(带有水平 LL)。在第二个 recyclerView
中,我使用 ItemDecoration
为其除第一个项目之外的所有项目添加左边距。
与我的问题相关的第一个RecyclerView
的onBindViewHolder
中的代码是:
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
,因此它只会被调用一次。
关于android - RecyclerView 中的 RecyclerView : ItemDecoration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995871/