2011-12-05 13 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

を最初に読んでください。または、ここに貼り付けてください –

答えて

0

あなたはこのようrunOnUIThread()メソッドでは、あなたのrunメソッドからこのコード行 "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); 
関連する問題