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

你可能感兴趣的:(Unable to add window -- token null is not valid; is your activity running?)