2010-05-20 3 views
0

내 Blackberry 응용 프로그램의 경우 진행률 표시 줄로 시작 화면을 사용하고 있습니다. 타이머를 사용하여 진행률 막대를 채우고 진행률 표시 줄이 완료된 후 다른 화면으로 이동해야합니다. 'i'를BlackBerry 응용 프로그램에서 한 화면에서 다른 화면으로 시간 간격에 따라 이동

I는 다음과 같이 확인하고는,이 코드는 작동하지 않습니다 (100)

timer.cancel(); 

if(i>=99) 

UiApplication.getUiApplication().pushScreen(new TipCalculatorScreen());  

0에서 증가, 시간입니다. 진행률 막대

나는 다음과 같은 코드를 사용하고 있습니다 :

private GaugeField percentGauge; 

    percentGauge = new GaugeField(null, 0, 100,50, GaugeField.PERCENT); 

       timer=new Timer(); 
        timer.scheduleAtFixedRate(new TimerTask(){ 
         int i=0; 

         public void run() { 
          percentGauge.setValue(i); 
           i++; 
           if(i>=99) 
           { 
            timer.cancel(); 

             //for page navigating i am given like this here screen is not navigating getting error 
           UiApplication.getUiApplication().pushScreen(new nextscreen()); 

           }  

          } 
        }, 100,100); 
+0

여기에서 작동하지 않는 것을 공유 할 수 있습니까? –

답변

1

당신은 UI 스레드에서 UI를 변경해야합니다. TimerTask는 자체 스레드에서 실행 중입니다. 대신

UiApplication.getUiApplication().pushScreen(new nextscreen()); 

당신은 아마 같은 치료를 필요로하여 게이지 제어

UiApplication.getUiApplication().invokeLater(new Runnable() { 
    public void run() { 
     UiApplication.getUiApplication()..pushScreen(new nextscreen()); 
    } 
}); 

업데이트를 사용해야합니다.

+0

Thankq 대단히 ....... 그것의 작동 괜찮습니다 –

+0

좋은 :) :) 여기에 stackoverflow 수락 응답으로 표시 할 수있는 다른 사람이 좋은 답변을 알고 (및 그것에 대한 크레딧을 얻을). 행운을 빈다. –

관련 문제