RecyclerView中的RecyclerView:ItemDecoration
RecyclerView in RecyclerView: ItemDecoration
我正在使用 recyclerview
(垂直 LinearLayout
)和不同的 viewholders
,其中一个有另一个 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
,因此它只会被调用一次。
我正在使用 recyclerview
(垂直 LinearLayout
)和不同的 viewholders
,其中一个有另一个 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
,因此它只会被调用一次。