Форум программистов, компьютерный форум CyberForum.ru

popup window и surfaceview - holder.lockCanvas() return null - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Динамическая таблица http://www.cyberforum.ru/android-dev/thread1096682.html
Здраствуйте, такой вопрос: есть товар, у него есть характеристика1, характеристика2 и кол-во товара. надо построить динамическую таблицу с кол-вом товара. Например есть Свитеры: - Свитер Зеленый(х-ка1) XL(х-ка2) 5шт - Свитер Синий(х-ка1) L(х-ка2) 8шт - Свитер Синий(х-ка1) M(х-ка2) 6шт - Свитер Черный(х-ка1) M(х-ка2) 2шт тогда таблица будет иметь вид:
Программирование Android Android Studio + Gradle offline Те, кто работает с этой средой, объясните как ее правильно использовать с этим gradle. Только что все необходимое для работы компоненты среда скачала с интернета - как бы все запускается без ошибок. Перезапускаю студию - сразу ошибка, - Gradle 'MyApplication3' project refresh failed (режим оффлайн или онлайн переключал - по барабану). Ладно, создаю новый проект, так снова почему то идет... http://www.cyberforum.ru/android-dev/thread1096592.html
Ошибка в Preferences Framework Программирование Android
Недавно начал изучать программирование под андроид и столкнулся с проблемой. Я создал xml с настройками через Preferences Framework, создал активность, в ней код: public class SettingsActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.xml.settings); } }...
Программирование Android Отключается приложение
Написал приложение, но в свернутом состоянии оно через минут 30 выключается. Как можно это исправить? Задача приложения в том, что оно слушает входящие смс-ки в фоновом режиме, но приложение отключается((
Программирование Android Отправить Soap (XML) запрос и принять данные. Eclipse http://www.cyberforum.ru/android-dev/thread1096533.html
По примеру http://khpi-iip.mipk.kharkiv.edu/library/sotii/labs/lab04.html сделал SoapUI, как из проги отправить запрос на веб сервис ?? вот например веб сервис http://speller.yandex.net/services/spellservice?WSDL как отправить и принять ?? на андроид Эклипс
Программирование Android Особенности работы GPS-приемника Android 4.1.1 В своей программе использую геолокацию по NETWORK и GPS. С какого-то момента перестал принимать координаты по провайдеру GPS. При этом я заметил, что отсутствует мигающий значок в информационной панели (не мой, а системный). После этого запустил другую свою программу (чисто геолокация, в ней я обкатывал механизм GPS), где логика геолокации практически та же. В ней этот значок... подробнее

Показать сообщение отдельно
Shadowgun
1 / 1 / 0
Регистрация: 01.07.2012
Сообщений: 24

popup window и surfaceview - holder.lockCanvas() return null - Программирование Android

14.02.2014, 18:22. Просмотров 1005. Ответов 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)
этот же сюрфейс нормально работает на обычном активити - тут погибает, в чем проблема, помогите!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru