博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android RecyclerView使用GridLayoutManager导致间隙变大的问题
阅读量:7107 次
发布时间:2019-06-28

本文共 772 字,大约阅读时间需要 2 分钟。

我用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); }

 

你可能感兴趣的文章
我的友情链接
查看>>
MySQL企业版之优势
查看>>
mongo学习-基础知识
查看>>
Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
查看>>
【VMCloud云平台】私有云门户第一朵VM云(三)
查看>>
【OCP考试】052最新题库及答案整理-第8题
查看>>
Java排列三源码下载多线程学习总结之---多线程基础
查看>>
PDF如何在线转换成TXT
查看>>
106.springboot 入门demo
查看>>
本人认为新手学习linux运维需要注意的事项
查看>>
cocos2d-html5 简单的动作函数 Action
查看>>
我的友情链接
查看>>
cfengine 部署(单机)
查看>>
GTK学习[一]:GTK中的信号(Signal)与事件
查看>>
Eclipse调试Java的10个技巧
查看>>
从Eclipse插件中读取资源
查看>>
[BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
查看>>
明天回家了
查看>>
linux之SQL语句简明教程---INSERT INTO
查看>>
实时监控远程用户防问服务器的IP所属位置
查看>>