2010-12-20 100 views
0

可能重复:
Android 1.6: “android.view.WindowManager$BadTokenException: Unable to add window — token null is not for an application”安卓:无法添加窗口 - 令牌null不是一个应用程序

android.view.WindowManager $ BadTokenException:无法添加窗口 - - 标记null不适用于android.view.ViewRoot.setView(ViewRoot.java:509) 处的应用程序 at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)

我的代码:

public class aaaa extends View { 
    private WindowManager mWindowManager; 
public aaaa(Context context) { 
    super(context); 
} 

@Override 
protected void onDraw(Canvas canvas) { 
    canvas.drawBitmap(BitmapFactory.decodeResource(this.getResources(), R.drawable.icon), 0, 0, null); 
    super.onDraw(canvas); 
} 

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    ddd(); 
    return super.onTouchEvent(event); 
} 

void ddd(){ 
    mWindowManager = WindowManagerImpl.getDefault(); 

     WindowManager.LayoutParams lp = new LayoutParams(50,50); 
     lp.x = 50; 
     lp.y = 50; 

     mWindowManager.addView(this, lp); 
    } 
+0

一个更深入的解释和更好的标题,你实际上会问什么 – ninjasense 2010-12-20 06:59:21

回答

4

如果用无效的情况下工作时,此异常通常是抛出。你传递给你的aaa类的构造函数是什么?如果你通过getApplicationContext()它可能会失败。尝试传递负责显示您的视图的活动的上下文(通常与参考this)。

相关问题