Android RecyclerView使用GridLayoutManager致使间隙变大的问题

我用recyclerView的时候设置LayoutManager为Grid,添加decoration为Grid,做为二级列表时,屡次点击一级列表来跳转的时候,两张图之间的间隙在逐渐变大,后来发现是由于屡次初始化Adaper的缘故。 
中间的间隙会变大ide

mWaresAdapter = new WaresAdapter(getContext(), datas); mRecyclerViewWares.setAdapter(mWaresAdapter); mRecyclerViewWares.setLayoutManager(new GridLayoutManager(getContext(), 2)); mRecyclerViewWares.addItemDecoration(new DividerGridItemDecoration(getContext()));

这是有bug的代码,每次都建立adapter致使间隙变大spa

解决办法code

if(mWaresAdapter == null) {   mWaresAdapter = new WaresAdapter(getContext(), datas);   mRecyclerViewWares.setAdapter(mWaresAdapter)   mRecyclerViewWares.setLayoutManager(new GridLayoutManager(getContext(), 2));   mRecyclerViewWares.addItemDecoration(new DividerGridItemDecoration(getContext())); }else{ mWaresAdapter.clearData(); mWaresAdapter.addData(datas); }
相关文章
相关标签/搜索