Android: невозможно добавить окно - токен null не для приложения

Возможный дубликат:
Android 1.6:" android.view.WindowManager $BadTokenException: Не удалось добавить окно - токен null не для приложения

android.view.WindowManager $BadTokenException: Невозможно добавить нулевой токен окна не для приложения в android.view.ViewRoot.setView(ViewRoot.java:509) в 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
источник поделиться
1 ответ

Это исключение обычно вызывается, если вы работаете с недопустимым контекстом. Что вы передаете конструктору своего класса aaa? Если вы пройдете getApplicationContext(), он может выйти из строя. Попробуйте передать контекст активности, который отвечает за отображение вашего представления (обычно с ссылкой this).

+5
источник

Связанные вопросы


Похожие вопросы

Посмотрите другие вопросы по метке или Задайте вопрос