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); }
相關文章
相關標籤/搜索