美文网首页
RecyclerView学习

RecyclerView学习

作者: sakasa | 来源:发表于2017-01-05 16:23 被阅读48次

    RecyclerView是谷歌官方出品的用于替代listview、gridview等的新控件,封装在v7包中,想要使用recyclerview必须先安装v7包。

    recyclerview中使用的问题

    1.局部刷新闪烁

    项目上要求实现类似于expandablelistview的效果,点击上边的父控件隐藏/显示下边的子控件。

    当时做这个动画的时候我转行安卓刚3个月,加上项目实现时间紧张,我最后使用了第三方框架来实现这个功能。但是这个第三方框架经常在刷新数据的时候出问题,主要是不能正常调用notifydatasetchange方法,所以我就自己每次都重新设置一下adapter,总感觉会有后患。

    现在应用已经上线,再加上本周公司搬办公室,app上的事情不太多,我就想自己实现这个功能,但是基本是一步一个坑。

    首先,这时候我已经决定把项目改成mvvm框架,全部使用databinding。recyclerview使用databinding还算比较简单,常规的添加layout,移动命名空间,添加data>variable等以后,基本的recyclerview该有的功能都有了,剩下就是点击效果。

    1.在binding时候监听onclicklistener事件,假如是打开状态则设置为关闭状态,假如是关闭状态则设置为打开状态,然而并没有什么卵用,猜测原因是item的复用,导致点击两次后才生效。

    2.在模型中增加显示和关闭布尔值,在binding中设置布尔值状态,在xml中设置VISIBLE还是GONE都可以,但是一定要在点击后设置notifyitemchange();

    相关文章

      网友评论

          本文标题:RecyclerView学习

          本文链接:https://www.haomeiwen.com/subject/gfkzvttx.html