2012-08-27 3 views
-2

BB OS 6.0에서 응용 프로그램을 개발 중입니다. 스레드에서 변경된 UI 변경 사항을 업데이트하는 UI 처리기가 있습니까? 아무도 나에게 몇 가지 예제 링크를 줄 수 있습니까?Blackberry OS 6.0 용 UI 처리기가 있습니까

+2

이미 [이 질문과 함께] (http://stackoverflow.com/questions/12088189/in-blackberry-os-5-0-is-there-any-u-handler-to-update-ui-of - 화면) OS 5.0,하지만 후속 조치를하지 않았고 대답을 수락합니다. 성취하고자하는 것은 무엇입니까, 당신은 그 질문에 대한 답을 얻지 못했습니까? – Nate

+0

Hey Nate, BB OS 5.0을 요청한 마지막 시간. 이제 BB OS 6.0을 원합니다. – Nitesh

+0

제가 아는 한,이 문제는 BB6와 BB5에서 차이가 없습니다. 그리고 사람들이 자유로운 조언을하기 위해 시간을 할애하면 대답을 받아 들여야합니다. 분명히 정답이 제공되지 않는 경우도 있지만,이 경우 사람들은 두 가지 질문으로 올바른 방법을 지적했다. – Nate

답변

4

몇 가지 작업을 수행 할 수 있습니다. 권장 방법은 UI 관련 코드를 Runnable에 배치 한 다음 Application.getApplication().invokeAndWait(Runnable) 또는 Application.getApplication().invokeLater(Runnable)을 호출하는 것입니다. 이 두 가지의 차이점은 이벤트 스레드가 사용 가능하고 Runnable 작업이 실행될 때까지 invokeAndWait 블록입니다. invokeLater는 Runnable을 단지 큐에 넣고 즉시 반환합니다.

반복 실행을 위해 Runnable을 예약하는 an overloaded version of invokeLater도 있습니다.

당신은 또한 당신의 UI 관련 동기화 된 블록의 코드 및 try to lock on the event lock 포장 수 :

synchronized(Application.getEventLock()){ 
     //GUI code here 
    } 

당신은 짧은 시간 동안 만 이벤트 스레드를 고정해야하고,이 또한보다 Runnable에 적용이 invoke 방법과 submited .

+0

감사합니다. – Nitesh

0

스레드 있음. 그 실행 방법에 사용

UIApplication.getuiApplication.invokeLater(new Runnable().... 

는 당신의 필요에 따라 UI를 변경합니다. 반영 될 것입니다.