因为遇到程序需要实现下拉刷新和上拉加载更多的,而又不想自己来进行判断,因为页面过于多,每个地方都要进行判断,并且自己的判断不够严禁,所以使用了一个十分简单好用的第三方。
其实算是别的大神写好的框架,也就是SuperSwipeRefreshLayout,框架确实十分的简单,并且好用,只用调用上拉和下拉的监听,就能够实现下拉刷新,和上拉加载更多的功能。
只需要实现这两个监听,就可以轻易的实现下拉刷新和上拉加载,而且可以自己自定义头部和底部,只用把自定义的setHead 或SetFoot但是,在使用的过程中,发现了一些关于上拉加载的问题, 在上拉的过程中,还没有拉到底部,就触发了上拉加载更多的监听,此时,上拉加载更多的布局就出现,挡住最后的一个listView,
只能去看源码当中的监听,发现源码的监听关于listView的是判断当前显示的是否是最后一个,如果是的话,就触发监听,所以当我最后一个Item项出现之后,满足了触发条件,所以触发了监听。
再查阅了一些相关的判断之后,最后将关于SuperSwipeRefreshLayout当中 关于ListView的监听事件进行了改变
注:view的getBottom()表示的是该View底部到父控件的左上角的垂直距离
当ListView的最后一个child View的getBottom()小于等于ListView的getHeight()时,就表示ListView滚动到底部或已经在底部了,不能再向下滑动了。
因为SuperSwipeRefreshLayout并不像PullToRefresh等这些名气大的第三方框架,所以在网上查了很多,有遇到相似问题的,但是没有找到解决方案,虽然简单,但毕竟是自己解决的,对与新手来说,还是比较有成就感。
2016-11-6 吕偲胖子第一次煮鸡汤的日子,虽然完全失去了鸡的鲜香,但是还有鸡的腥啊
参考:http://blog.csdn.net/hudashi/article/details/46563811
http://blog.csdn.net/nupt123456789/article/details/48225139#reply