log日志打印:ImageView no longer exists. You should not use this PhotoViewAttacher any more
这个问题是因为:removeView(PhotoView)时会调用PhotoView.onDetachedFromWindow()-->PhotoViewAttacher.cleanup()。在cleanup()方法中清空了PhotoViewAttacher持有的PhotoView,而在onAttachToWindow()方法中没有重置。
PhotoView常用的方法有PhotoTap和LongClick着两个,ViewPager嵌套PhotoView,难免不会左滑右滑,但是由于ViewPager也是有回收机制的,新建的子item使用不会有问题,但是再来回切换几次,PhotoTap和LongClick方法就不会起作用了,找网上的解决方法一大堆,可都不怎么实用,升级了最新的版本库叶没有解决。
解决方法:
在ViewPager切换的方法里面重新获取PhotoView对象,调用PhotoTap和LongClick方法。
网友评论