RecyclerView学习

2017-01-05  本文已影响48人  sakasa

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();

上一篇下一篇

猜你喜欢

热点阅读