当前有一个需求,就是类似手机中应用商店里面的软件下载列表,可以显示当前软件下载进度,以及继续下载和暂停的按钮。对于已经封装好的下载库来说,下载流程是没有问题了,但是,如果ListView列表中的item更新频率过高,那么就会造成继续、暂停按钮的点击事件失效,追查原因是onTouchListener中的ACTION_UP事件没有触发,网上也有人说通过降低列表刷新频率或者在ACTION_DOWN事件触发是执行相关操作。我个人比较喜欢追求完美,想要实现抬起手势时触发暂停和继续操作,并且刷新频率尽量不受影响,望各位有好的想法的朋友给一些建议。感激不尽!
如下图:

解决方案 »

  1.   

    你不要用ListView实现,因为ListView只有全局刷新,你用recyclerview实现,就用局部刷新,这样可以就实现屏幕刷新及时了
      

  2.   

    不要自己处理touch事件,直接用click事件就行了。
    listview也可以刷新局部只是比较麻烦,还是用RecyclerView好些。
      

  3.   

    这个问题是在这一个item里面出现的,就是同一个item里面,进度条刷新的时候也就是整个item都刷新了,这样继续按钮也被刷新了,所以按钮的点击事件失效了,我现在的想法是把按钮放到另一个ListView中,进度条单独在一个ListView中,这样进度条的刷新不会影响按钮所在列表的刷新,只是按钮控制进度条的继续和暂停,不知道这样合不合理。
      

  4.   

    这明显是你刷新频率太快了导致的,写一个定时器每1或0.5秒notify一次,下载的数据更新不要调notify就行了