Attempt to invoke virtual method 'android.os.IBinder android.view.View.getWindowToken()' on a null o

本文解决了PopupWindow在设置相对位置时出现的空指针异常问题。错误原因是PopupWindow的位置设置依据的对象与自身不在同一Activity内。解决方案是将参照物更改为当前Activity内的View。

      今天,做公司项目遇到一个比较另类的空指针异常,看样子是我之前遇到过,但是竟然没有记录下来,没办法,仔细检查一番后终于发现问题所在.

错误信息:java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.IBinder android.view.View.getWindowToken()' on a null object reference

错误原因:popupWindow设置相对位置的时候选择参考物和自身不在同一个activity的问题

解决:popMenus.showAtLocation(this.findViewById(R.id.activity_arself_center), Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);

如上代码所示,改版参照物为当前界面的view即可

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值