View not attached to WindowManager 错误

来源:互联网 发布:window多线程编程 编辑:程序博客网 时间:2024/06/03 18:07

今天在学习2D绘图的时候,为了省事,在Activity的OnCreate里写下了如下代码

WindowManager wm;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

wm = (WindowManager) getSystemService(Service.WINDOW_SERVICE);

DemoButton button = new DemoButton(this);
setContentView(button);
WindowManager.LayoutParams params = new       WindowManager.LayoutParams();
params.width = LayoutParams.WRAP_CONTENT;
params.height = LayoutParams.WRAP_CONTENT;
params.x = 50;
params.y = 50;

wm.updateViewLayout(button, params);


}

然后运行,报错,View not attached to WindowManager,自己对android的这些方面的理解这样看来真的很不到位,button并未如自己所想是attach到Window上的,WindowManager管理的是一组窗口,比如activity,dialog,以及通过addview添加到Window的悬浮窗(前提是这个view在添加之前没有任何parent,否则会出现异常,being add,but it already has a parent),更加深刻详细的解释在这里

http://blog.csdn.net/luoshengyang/article/details/8498908

暂时对WindowManager的理解就到这了,小弟才疏学浅,说的不对的地方请大家一定帮我指出来