ClassCastException (вызывая UiApplication для приложения) - PullRequest
0 голосов
/ 04 ноября 2011

Я получаю эту ошибку

Thread [TimerDemo(185)id=307040256] (Suspended (exception ClassCastException))  
UiApplication.getUiApplication() line: 462  
TimerDemoTask$1.run() line: 18  
BackGroundProcess(Application).dispatchInvokeLater(Runnable, Object, int) line: 1456    
BackGroundProcess(Application).doProcessNextMessage(Message) line: 2088 
BackGroundProcess(Application).processNextMessage(Message) line: 1530   
BackGroundProcess(Application).enterEventDispatcher() line: 1371    
TimerDemo.main(String[]) line: 15   

когда я пытаюсь вызвать popUpScreen () с помощью,

UiApplication.getUiApplication()).pushGlobalScreen(new PanicPopUP(), 0, 0)//Defined in TimerDemoTask class.

Класс BackGroundProcess, который расширяет приложение, вызывает класс TimerDemoTask, который вызывает popUpScreen (), как указано выше. Я пытался разыграть Application и UiApplication таким образом

((UiApplication)Application.getApplication()).pushGlobalScreen(new TimerDemoPopupScreen(),0,0);

, но все равно получаю то же исключение. Любая идея, как это реализовать.

1 Ответ

2 голосов
/ 04 ноября 2011

Попробуйте, как это в вашем демо-классе Timertask .. я думаю, что вы не получаете eventlock

synchronized (getEventLock()) {

    //with this UiEngine pushGlobal dialogs

    //whenever with the app in background

    UiEngine ui = Ui.getUiEngine();
    ui.pushGlobalScreen(new TimerDemo(), 1, UiEngine.GLOBAL_QUEUE);
}

вот так и посмотри, решит ли это твою проблему ....

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