android 中的PopupWindow错误处理

今天学习到android 中的PopupWindow,可以正常使用,弹出,但是在窗口弹出没有消失的时候,按back,返回到桌面时报错:
4003-4003/com.example.snoopy.drop_down E/WindowManager﹕ Activity com.example.snoopy.drop_down.MainActivity has leaked window android.widget.PopupWindow PopupViewContainer@413a6130thatwasoriginallyaddedhereandroid.view.WindowLeaked:Activitycom.example.snoopy.dropdown.MainActivityhasleakedwindowandroid.widget.PopupWindow PopupViewContainer@413a6130 that was originally added here
但是,没有弹出时,按下back就不会报错,由此推断是popupwindow未及时关闭造成(比较愚笨,也看不懂错误信息),所以在 onDestroy()中添加如下代码:
if(null != myPopupWindow && myPopupWindow.isShowing()){
myPopupWindow.dismiss();
if(null == myPopupWindow){
Log.e(“MainActivity”,”null == myPopupWindow”);
}
}
错误消失,但是新的错误出现:
InputQueue-JNI﹕ channel ‘41c39b88 PopupWindow:41386a98 (client)’ ~ Publisher closed input channel or an error occurred. events=0x8
搞了好久,推断之前的关闭代码位置不对,于是放置于
onBackPressed()中
运行!OK!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值