Aspsine/SwipeToLoadLayout

使用时遇到的问题

JasminvMchl opened this issue · 0 comments

这边是通过extends LinearLayout implements SwipeLoadMoreTrigger/SwipeRefreshTrigger,SwipeTrigger来定义Header和Footer的,然后Header和Footer里都是一个LinearLayout里包裹着ImageView和一个TextView,而Header和Footer之间夹着一个ListView,使用的时候遇到了下面的问题。

第一个问题,这边在onPrepare(),onRelease()和complete()中都有使用TextView.setText(),然后发现在刷新或加载过一次,也就是说complete()执行过一次后,不管是在onPrepare(),onSwipe()还是onReset()里使用的TextView.setText()长度都会变得跟complete()里使用的字符串一样。
比如说三个字符串分别是"下拉之后就能开始刷新了哦。","正在刷新中de~su","刷新完成啦!",执行过一次之后下拉的时候就会变成“下拉之后变成”。而如果是complete()里使用的字符串比第一个字符串长,则表现为后面补空。这个问题在Header和Footer里都有遇到。

第二个问题,如果在改变setTextView的同时setImageResource会变得很卡,不过只要不setImageResource就没事了。这个问题也是在Header和Footer里都有遇到,或许和这个类本身没什么关系,这边只是单纯地提一下想看看有没有又能改图片又不卡的办法……

第三个问题,这个问题只在Footer里遇到。这边在ListView的Item里使用了Volley的NetworkImageView加载网络图片。然后如果在SwipeToLoadLayout的onRefreshingListener里加载,然后setRefreshing(false)的话,Footer会在调用完complete()后就卡在那里,接下来不仅SwipeToLoadLayout本身没用了,整个界面也会变得特别卡。
后来这边在onReset里加载数据并显示出来,算是能用了,但是还是存在问题,就是如果用户在complete()调用后而Footer整个缩回去之前滑动屏幕的话,Footer还是会卡在那里,然后SwipeToLoadLayout没用了,整个界面同样会变得特别卡。虽然不使用setLoadMoreCompleteDelayDuration让Footer在complete之后立刻缩走能让这个bug被触发的几率变得很低,但依然是可能的。

作为一个这几天被赶鸭子上架一直在不断找资料尝试学习Android的实习生,非常感谢作者提供的这个类。可以的话希望作者能测试一下看是否也会遇到这些问题,并找到解决方案。