Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Shadowgun
1 / 1 / 0
Регистрация: 01.07.2012
Сообщений: 24
#1

popup window и surfaceview - holder.lockCanvas() return null

14.02.2014, 18:22. Просмотров 1167. Ответов 0
Метки нет (Все метки)

Осуществил попытку добавить в мой popup window surfaceview
Java
1
2
3
4
5
6
7
8
9
10
public void Show() {
        pw = new PopupWindow();
        pw.setFocusable(true);
        pw.setOutsideTouchable(true);
        pw.setContentView(new MessengerView(this.findSurface().getContext(),
                pw, this.text));
        pw.setWidth(300);
        pw.setHeight(300);
        pw.showAtLocation(this.findSurface(), Gravity.CENTER, 0, 0);
    }
внутриности MessengerView
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
holder = getHolder();
    viewThread = new ViewThread(this);
    holder.addCallback(new Callback() {
        @Override
        public void surfaceChanged(SurfaceHolder holder, int format,
                int width, int height) {
            onSurfaceChanged();
        }
 
        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            onSurfaceLoaded();
        }
 
        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
            viewThread.closeThread();
        }
 
    });
внутриности потока рисования
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void run() {
        while (running) {
            Canvas canvas = null;
            try {
                // подготовка Canvas-а
                canvas = view.getHolder().lockCanvas();
                canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
                synchronized (view.getHolder()) {
                    view.draw(canvas);
                }
            } catch (Exception e) {
            } finally {
                if (canvas != null) {
                    view.getHolder().unlockCanvasAndPost(canvas);
                }
            }
        }
    }
в этом случае canvas = null
log errore
XML
1
02-14 00:17:48.632: E/SurfaceHolder(22131): Exception locking surface 02-14 00:17:48.632: E/SurfaceHolder(22131): java.lang.IllegalArgumentException 02-14 00:17:48.632: E/SurfaceHolder(22131): at android.view.Surface.lockCanvasNative(Native Method) 02-14 00:17:48.632: E/SurfaceHolder(22131): at android.view.Surface.lockCanvas(Surface.java) 02-14 00:17:48.632: E/SurfaceHolder(22131): at android.view.SurfaceView$4.internalLockCanvas(SurfaceView.java) 02-14 00:17:48.632: E/SurfaceHolder(22131): at android.view.SurfaceView$4.lockCanvas(SurfaceView.java) 02-14 00:17:48.632: E/SurfaceHolder(22131): at sushi.thread.ViewThread.run(ViewThread.java:39)
этот же сюрфейс нормально работает на обычном активити - тут погибает, в чем проблема, помогите!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2014, 18:22
Ответы с готовыми решениями:

lockCanvas() возврашяет null
Доброе время суток. У меня возникла проблема. Пишу 2д игру под андроид (так для...

Явная загрузка разметки из xml для popup window
Возможно ли для popupwindow загружать разметку через xml, чтобы не мучатся и...

RelativeLayout findViewById return null
Я что-то не пойму никак.. почему RelativeLayout возвращает не ссылку на...

Как передать тег (view.setTag(holder)
Здравствуйте! Использую адаптер и у меня он вида: class ItemAdapter...

RecyclerView и java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter pos
Добрый день! У меня есть RecyvlerView, который изумительно работает на всех...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 18:22

Мерцание в SurfaceView
Всем привет! Рисую на SurfaceView фон и на нем анимированные объекты. Кадры...

Восстановление SurfaceView
Кто работал с SurfaceView, помогите! Рисую на SurfaceView с помощью...

SurfaceView не отображается
Учусь программировать по книге П. Дейтел, Х. Дейтел "Android для программистов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru