Я хотел бы знать подходящее место для ввода последовательного кода запуска на основе графического интерфейса пользователя в приложении Blackberry.Где разместить начальный код на основе графического интерфейса пользователя в приложении Blackberry?
In main(), I create MyApp and enterEventDispatcher()
I have UiApplication (MyApp)
In the MyApp CTOR:
- I create a MainScreen (MyMain)
- I call pushScreen() on MyMain
Когда начинается диспетчер события, есть событие, я могу слушать в моем, которые В начале дать мне нить событий, где я могу счастливо сделать синхронные стартовые задачи?
Я могу использовать invokeLater(), но я хочу, чтобы каждый вызов блокировался, потому что их порядок важен на этом этапе. invokeAndWait() выдает исключение в большинстве случаев, когда я пытался его использовать.
Я попытался использовать код ниже, но получаю исключение при попытке запустить на линии «Тестирование 1 2 3».
public class MyApp extends UiApplication { static public void main(String[] args) { new MyApp().enterEventDispatcher(); } public MyApp() { MyView theView = new MyView(); theView.startUpdateTimer(); pushScreen(theView); Dialog.alert("Testing 1 2 3"); } }
Будет ли пользовательский интерфейс * работать * до вызова enterEventDispatcher? Т.е. я могу делать интерактивные вещи UI? например. Чтобы уточнить, допустим, я хочу спросить пользователя, хочет ли он включить функцию X. Могу ли я сказать Dialog.ask() в основном, получить ответ, внести коррективы в мои настройки, все до вызова enterEventDispatcher? В противном случае, я предполагаю, что я просто запускаю вещи, которые нужно запустить после запуска диспетчера. –
Я попробовал Dialog.alert() в основном. Как и ожидалось, я получаю исключение IllegalStateException. Argh. Полагаю, я мог бы свернуть весь мой код запуска в invokeLater, но я хотел бы знать, может ли это сделать RIM. –