java.lang.IllegalStateException: ImageView no longer exists. You should not use this PhotoViewAttach...

 java.lang.IllegalStateException: ImageView no longer exists. You should not use this PhotoViewAttacher any more.

这个错误今天碰到了,下面是解决方法,直接上代码

PhotoViewAttacher  文件中 更改cleanup方法
 
发现可行
 1     /* 
 2          * @SuppressWarnings("deprecation")  
 3          * public final void cleanup() {  
 4          *      if (null!= mImageView) { 
 5          *          mImageView.get().getViewTreeObserver().removeGlobalOnLayoutListener(this);  
 6          *      }  
 7          *      mViewTreeObserver = null; 
 8          *  
 9          * // Clear  
10          *      listeners too mMatrixChangeListener = null;  
11          *      mPhotoTapListener = null; 
12          *      mViewTapListener = null; 
13          *  
14          * // Finally, clear ImageView  
15          *      mImageView = null; } 
16          */  
17         @SuppressWarnings("deprecation")  
18         public final void cleanup() {  
19             if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {  
20                 if (null != mImageView) {  
21                     mImageView.get().getViewTreeObserver()  
22                             .removeOnGlobalLayoutListener(this);  
23                 }  
24       
25                 if (null != mViewTreeObserver && mViewTreeObserver.isAlive()) {  
26                     mViewTreeObserver.removeOnGlobalLayoutListener(this);  
27       
28                     mViewTreeObserver = null;  
29       
30                     // Clear listeners too  
31                     mMatrixChangeListener = null;  
32                     mPhotoTapListener = null;  
33                     mViewTapListener = null;  
34                     // Finally, clear ImageView  
35                     mImageView = null;  
36                 }  
37       
38             } else {  
39                 if (null != mImageView) {  
40                     mImageView.get().getViewTreeObserver()  
41                             .removeGlobalOnLayoutListener(this);  
42                 }  
43       
44                 if (null != mViewTreeObserver && mViewTreeObserver.isAlive()) {  
45                     mViewTreeObserver.removeGlobalOnLayoutListener(this);  
46       
47                     mViewTreeObserver = null;  
48       
49                     // Clear listeners too  
50                     mMatrixChangeListener = null;  
51                     mPhotoTapListener = null;  
52                     mViewTapListener = null;  
53                     // Finally, clear ImageView  
54                     mImageView = null;  
55                 }  
56             }  
57         }  

 

 

转载于:https://www.cnblogs.com/wangying222/p/6007989.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值