| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Display, Displayable и CommandListener взаимосвязи |
| Автор: John2 23.5.2012, 18:20 | ||||
| Суть такая: Есть основной класс от MIDlet
В нём происходит обработка команд в другом классе наследуемом от Form
Тоже обрабатываются команды Как видно со второго фрагмента кода необходимо вернуться в formMidlet. Если я правильно понимаю, то необходимо каким-то образом передать ссылку на объект Displayable, используемый в основном классе мидлета. Как это сделать, ума не приложу. И вообще трудно понять как между собой связаны в этом случае объекты Display, Displayable и CommandListener. Может кто-то на примере разъяснит, буду очень благодарен. |
| Автор: John2 6.6.2012, 17:14 | ||||
| Kalisnik, спасибо, что помогли разобраться! Получилось примерно следующее:
От методов getMyForm() и getMydisplay() пришлось отказаться, поскольку о классе MyForm речь идёт как о библиотечном классе, который будет использоваться в разных мидлетах. Но тут возникает вопрос, пока для меня не принципиальный, но всё же интересный, чтобы можно было глубже понять. Что если я захочу по команде backToApp возвращаться не к объекту Form, а к примеру Alert. Можно ли ипользовать какой-либо универсальный способ, который подходил бы и к Form и к Alert или Canvas? |
| Автор: Kalisnik 6.6.2012, 20:59 | ||
Нет ни чего невозможного. Например, можно такое реализовать по средством стека. Создаем стек и при переходе на другой объект Displayable, показываемый в настоящее время объект Displayable закидываем в стек. Если же нужно вернуться на предыдущее окно, то просто обратно достаем объект Displayable из стека и показываем его на дисплей. Почитайте в этой http://forum.vingrad.ru/forum/topic-344719.html темке - в ней я задавался похожими вопросами. P.S. И не важно Alert это или Form, или Canvas. Ибо все они Displayable. |