我使用的是recyclerview (带有垂直LinearLayout)和不同的viewholders,其中一个有另一个RecyclerView (具有水平的LL)。在第二个recyclerView中,我使用一个ItemDecoration为其所有项添加左边距,但第一个项除外。
第一个与我的问题相关的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。如果我向上和向下滚动3或4次,第二次回收视图中物品之间的间隔是非常明显的。
所以我的问题是,我怎么知道RecyclerView是否已经有了ItemDecoration
谢谢。
发布于 2015-05-01 22:57:38
是的,将此代码移动到createViewHolder,以便只调用一次。
https://stackoverflow.com/questions/29995871
复制相似问题