2011-12-05 2 views
0

죄송합니다. 계속 토큰을 적용하려고 시도하지만 어쨌든 나는 이것을 관리 할 수 ​​없습니다.ImageView를 몇 초 동안 변경하고 UI를 일시 중지하십시오.

나는 다음과 같은 코드를 가지고 : 이것처럼

timer.schedule(new TimerTask(){ 

    runOnUiThread(new Runnable() { 

     public void run(){ 
     SplashImage.setImageDrawable(aktieknop);} 

     }); 

    },SplashTime); 
    } 

코드가 '작동'

timer.schedule(new TimerTask(){ 

    // runOnUiThread(new Runnable() { 

     public void run(){ 
     SplashImage.setImageDrawable(aktieknop);} 

    // }); 

    },SplashTime); 
    } 

당신이 날이 바보 문제를 해결하는 데 도움 주실 수 있습니까? 고마워요!

+0

이미 코드의 관련 부분을 게시하고 작동하지 않는 구체적으로 무엇인지 설명, 무언가를 시도하기 때문에. Threads에 대한 링크를 원할 경우 http://developer.android.com/resources/articles/painless-threading.html – Craigy

+0

logCat 메시지를 먼저 읽거나 여기에 붙여 넣으십시오. –

답변

0

이 같은 runOnUIThread() 메소드에서 실행 방법에서이 코드 라인 "SplashImage.setImageDrawable(nSplashImage);"을 호출해야합니다 :

runOnUiThread(new Runnable() { 
public void run() { 
    SplashImage.setImageDrawable(nSplashImage); 
} 

을});

UI가 아닌 스레드에서 UI 구성 요소를 변경할 수 없기 때문입니다.

+0

감사합니다. 새로운 최종 변수를 만들었습니다. 실제로 (LogCat을 보면서) UI 스레드에서 실행해야한다고 생각합니다. 이제는 합계가 있습니다.}} 나는 테스트 할 권리가 없습니다. – Diego

+0

환영 ... 당신은 AsyncTask에 대해서도 읽을 수 있습니다 .. 그것은 당신에게 안드로이드 멀티 태스킹에서 많은 도움을 줄 수 있습니다 ... – Cata

0

시작 화면의 경우 처리기를 사용하여 지연된 메시지를 보낼 수 있습니다.

Handler splashHandler = new Handler() { 

    @Override 
    public void handleMessage(Message msg) { 
      super.handleMessage(msg); 
       //Here you can do what ever you want 

      } 
     }; 

INT의 SPLASHTIME = 2000; // 당신의 소원

splashHandler.sendMessageDelayed(msg, SPLASHTIME); 
관련 문제