windowmanger的addview,removeView方法出现的异常

最近在调试一个关于windowmanger添加或移除view时产生诡异的bug,问题就是出现在windowmanger.addview(View view)这行代码。

具体情况:代码走到这行,突然没法往下走了,程序没有崩溃,logcat里也没能抓到error级别的日志。


无意中,发现了warning级别的日志。

java.lang.IllegalStateException:xxx has already been added to the window manager.

错误产生的原因是在使用windowmanager.addView(View view)方法时试图添加一个已以被添加的view,

而后又尝试在使用windowmanager.addView(View view)之前调用windowmanager.removeView(View view),可没想到是又引发了另一个异常

java.lang.IllegalArgumentException: View not attached to window manager

错误产生的原因使用removeView方法时尝试移除一个就没有被添加的view导致了上述的错误。


上面的错误的产生,必然是在使用windowManger添加view或移除view没有配对使用好。为了快速修复,所以前期还是通过捕捉前面的异常再进行相关处理来进行补救。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值