zoukankan      html  css  js  c++  java
  • Android RecyclerView使用GridLayoutManager导致间隙变大的问题

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

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

    这是有bug的代码,每次都创建adapter导致间隙变大

    解决办法

    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);
     }
  • 相关阅读:
    substr函数
    Oracle 日期处理
    translate函数使用
    nvl函数
    random随机函数
    case语句
    列的拼接
    并行HASH JOIN小表广播问题
    WITH AS 优化逻辑读
    【hihoCoder挑战赛28 A】异或排序
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9051255.html
Copyright © 2011-2022 走看看