Android 解决SwipeRefreshLayout和listview的setEmptyView的冲突 listview和scrollview的冲突

来源:互联网 发布:陈奕迅热门歌曲知乎 编辑:程序博客网 时间:2024/06/05 02:10

苹果刷新有自带的控件,Android却没有,每次项目需求不一样,改改,google出了SwipeRefreshLayout之后方便不少.接下来记录下遇到SwipeRefreshLayout使用的一些问题.

SwipeRefreshLayout许多都是和listview的一起使用.但使用过程中,出现问题.

SwipeRefreshLayout有使用限制,它的子view只能是一个,而且是scrollview,listview,gridview,等等,使用linearlayout会出现问题.

问题来了,我们使用listview的setEmptyView的使用,布局文件中的emptyview必须要和listview同一节点,但是SwipeRefreshLayout的子view,又是只能有一个,但却又不可使用linearLayout,所以这里就有冲突了,如下:



解决:

重新布局使用scollview包含,如图.



为什么要设置fillViewport=true?这样可以解决listview和scrollview的滑动冲突,,滑动时间完全都子控件listview接受触发




运行后,万事却不会那么顺利,问题又来了,上拉很正常,loadMoreLostview也照常加载数据,但是却无法下拉了,下拉后触发的是SwipRefreshLayout,,,那就呵呵了,没滑到listview的顶部是不能触发SwipRefreshLayout,,所以加了判断.



这样就完美解决

0 0
原创粉丝点击