在windowManager.addView()之后,View的getWindowToken()为null

时间:2018-01-31 15:19:03

标签: android android-layout android-view android-windowmanager android-window

我已使用WindowManager这样添加了视图:

windowManager.addView(view, view.getViewParams());

在此行之前和之后,我检查view.getWindowToken(),它始终是null

你能解释为什么view.getWindowToken()null以及它何时变为null

1 个答案:

答案 0 :(得分:1)

执行windowManager.addView(...)时,视图会立即附加到窗口。相反,您正在发布一个将在稍后发生的动作。

为了等待上面提到的“some time”,你可以向视图发布一个动作:


    view.post(new Runnable() { 
        public void run() { 
            // now view is attached to window
            view.getWindowToken(); 
        } 
    });