Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.171] |
|
Сообщ.
#1
,
|
|
|
Есть активити, которое содержит в себе GLSurfaceView. Нужно в этой вьюшке при нажатии на определённую область вызывать контекстное меню.
Учитывая, что вызывать меню нужно не всегда, реализую свой механизм LongTouch - в onTouchEvent при касании запускаю таймер, который через определённое время вызывает некий метод onLongPress. В этом onLongPress делаю registerForContextMenu для GLSurfaceView и вызываю openContextMenu - всё это делаю через runOnUiThread, но пробовал и без него - получаю эксепшен (логично). Меню вызывается, работает, всё ок. Беда в том, что после того, как оно закрывается (onCloseContextMenu вызывается), не работают калбеки onTouchEvent, onKeyDown и т.п - т.е. активити фактически не обновляется, походу. Всё это лечится при смене ориентации экрана либо после сворачивания-разворачивания приложения. Есть у кого идеи, где я дурак? =) Спасибо. |
Сообщ.
#2
,
|
|
|
Вобщем, выяснил, что почему-то после закрытия контекстного меню, фокус на активити не возвращался. Поэтому реализовал контекстное меню при помощи Alert'а - и всё ок.
Очень помогла статья: http://buneyeu-dev.blogspot.com/2011/08/contextmenu-android.html |