Closed HeJingWei closed 2 years ago
问题已复现,待我好好研究下
我改好了
implementation 'com.github.iielse:imageviewer:2.1.16'
有空的话,可以解释一下原因吗
在更新了新版本后,您在自定义viewer中的删除上 进入判断if (ViewerHelper.loadAllAtOnce) 弹出了SimpleDataProvider的写法不支持删除。 由此我发现了新问题,当我在demo中滑动时,由于分页PAGE_SIZE=5,我点的下标为5后的item,指示器最大总是显示5,当我滑动下一张从5滑到7、8、9...之后,点击remove删除,指示器会立马变成5,因为onPageSelected回调最大的position就是5,所以我把PAGE_SIZE改为40,这样的话就总是在第一页 所以我认为当ViewerHelper.loadAllAtOnce,应该是可以删除的,但是我的水平不够,不是完全看得懂您的代码,所以我把PAGE_SIZE改为比一页的数据还大后,能正常删除
其实我想说的就是,您能否优化一下SimpleDataProvider,让一次性全加载的页面也可以进行item删除
onPageSelected目前触发了2次和PagingSource.load方法的实现有关.
SimpleDataProvider的作用目前是帮开发者简易实现loadAfter和loadBefore前后加载方法的.这个由于和框架的实现方式有关. 设计的时候没有考虑要支持增删.
带增删的SimpleDataProvider 我再研究下
差不多改好了。 下午我自查下,问题不大就提交新代码了。 差不多了,吃完饭回来 发个新版本.
好了, 试下 2.1.17
多谢解决~
在demo中。每次打开大图,或者remove某张图,pagerCallback的onPageSelected回调总是先走一次position=0,再走一次才是正确位置,导致了指示器每次都先跳一下0