Как получить доступ к диалогу из вида? - PullRequest
0 голосов
/ 17 января 2011

Этот вопрос касается концепции того, что я пытаюсь закодировать.

У меня есть активность "Общественный совет продлевает деятельность {" который имеет "setContentView (myBoard)", где myBoard является экземпляром "класс NewBoard расширяет View, реализует OnTouchListener {" NewBoard рисует графику с помощью onDraw, а также рисует графические кнопки. Нажатие на кнопку «Решить» вызывает другой класс "public class SKO {", который не имеет визуальных компонентов и выполняет вычисления, результаты которых перерисовываются графическим представлением.

Это все хорошо работает.

Теперь я хочу вызвать диалог из более графически нарисованных кнопок в представлении NewBoard.

В классе "топ" - доска, у меня есть подходящий код в "защищенный диалог onCreateDialog (int id) {" Я знаю, что этот код хорош, потому что, если я добавлю showDialog (int) (Alertdialog с кнопкой отмены) к onCreate of Board, то при запуске класса Board появится диалоговое окно, и при отмене моя графика будет работать внизу.

Моя проблема ****

что я не могу найти способ вызвать showDialog (int) в Board из моего графического представления (NewBoard).

Я попытался добавить «Защищенный диалог onCreateDialog (int id) {» к моему графическому представлению (NewBoard), но я считаю, что он может быть добавлен только к действию. Буду очень признателен за совет.

1 Ответ

0 голосов
/ 17 января 2011

Я бы посоветовал вам определить интерфейс Listener, например, NewBoardListener (не очень хорошее имя, но достаточно хорошее для примера). Ваш класс Board может зарегистрироваться в представлении NewBoard как NewBoardListener. Давайте предположим, что событие кнопки в вашем представлении NewBoard связано с «View Status», тогда ваш интерфейс NewBoardListener может определить метод, называемый что-то вроде onViewStatus (). Когда пользователь нажимает кнопку в представлении NewBoard, вы делаете обратный вызов для вашего newBoardListener.onViewStatus (). Затем в вашем классе Board, который реализует интерфейс NewBoardListener, в вашем методе onViewStatus вы вызываете showDialog (int).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...