我已使用WindowManager
这样添加了视图:
windowManager.addView(view, view.getViewParams());
在此行之前和之后,我检查view.getWindowToken()
,它始终是null
。
你能解释为什么view.getWindowToken()
是null
以及它何时变为null
?
答案 0 :(得分:1)
执行windowManager.addView(...)
时,视图不会立即附加到窗口。相反,您正在发布一个将在稍后发生的动作。
为了等待上面提到的“some time”,你可以向视图发布一个动作:
view.post(new Runnable() {
public void run() {
// now view is attached to window
view.getWindowToken();
}
});