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

苹果刷新有自带的控件,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,,所以加了判断.



这样就完美解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值