Unable to add window -- token null is not valid; is your activity running?

问题描述: 遇到此问题的原因是在 Activity 的 oncreate() 方法里直接显示 PopupWindow 造成的问题。
大部分原因是因为 Activity 还没有初始化完成 PopupWindow 所依赖的 view 并没有初始化,所以也就不会显示出来。
直接上代码解决过程吧;

  @SuppressLint("HandlerLeak")
    private Handler popupHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case 0:
                    showTipDiolog(tvTitle);
                    break;
                default:
                    break;
            }
        }
    };

然后在合适的地方调用:

  @Override
    protected void onResume() {
        super.onResume();
         if (isshow) {
            popupHandler.sendEmptyMessageDelayed(0, 1000);
        }
    }

根据自己业务逻辑自行选择调用位置即可。
以上方法自测可行。

参考网址:http://cb269267.iteye.com/blog/1787779
希望能对大家有所帮助,欢迎大家一起讨论交流。

3952735fe4a07d74f844ab84d36c43b0_r.jpg

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容