5

それは動作しません。どういうわけか、私によると、それはこのようになります。runOnUiThread(新しいRunnableを(){句読点(トークン)問題

public void Splash(){ 
    Timer timer= new Timer(); 

    timer.schedule(new TimerTask(){ 

    MexGame.this.runOnUiThread(new Runnable() { 

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

     }); //Closes runOnUiThread((){}) 

    },SplashTime); //Closes the Timeratask((){}) 

} //closes Splash() 

誰も私は何かが欠けてい

任意のアイデア?

書式コメント 私は愚かな問題を知っている、あるいは不可能なことをしているかもしれませんが、すべての論理的な可能性を試しましたので、おそらく何か不足しているか、できないことをしようとしています。私はfollowiを使用しようとしていますNGコードが、それはトークンの問題を与える:

Timer timer= new Timer(); 
    timer.schedule(new TimerTask(){ 

    runOnUiThread(new Runnable() { 

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

     });} 

    },SplashTime); 

私はrunOnUiThreadを遮断した場合、私は別のスレッドからUIを適応しようとしているが、少なくとも無トークン発行、誰でも任意のアイデア?:

てるので、それがクラッシュします SplashTime
Timer timer= new Timer(); 


    timer.schedule(new TimerTask(){ 

// runOnUiThread(new Runnable() { 

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

    // });} 

    },SplashTime); 
+0

Activity_name.this.runOnUiThread(...)を使用してみましたか? –

+0

こんにちはLalit、同じ問題を与える、日食私は私が追加または削除する必要があるコメントを与える;私が得るコメントがブロックされていなければ、最後にtimer.scheduleとSplashTimeの行にあります。 runOnUiThreadが追加されたときにEclipseがTimer Taskを認識しないようです。 – Diego

答えて

9

はTimerTaskをとのRunnableの両方がrunメソッドを実装する必要が、あなたは2 run方法が必要になります。

また、Runnableの構築とTimerTaskの構築を分離すると、コードが読みやすくなります。

final Runnable setImageRunnable = new Runnable() { 
     public void run() { 
      splashImage.setImageDrawable(aktieknop); 
     } 
    }; 

    TimerTask task = new TimerTask(){ 
     public void run() { 
      getActivity().runOnUiThread(setImageRunnable); 
     } 
    }; 

    Timer timer = new Timer(); 
    timer.schedule(task, splashTime); 
+0

+、 'TimerTask'の' run() 'の欠如 – Vladimir

1

あなたが過剰持ちます "}"。 1つのオープン "{"と2つのクローズ "}"をコメントしました。元のコードには1つの不要な "}"があります。

Timer timer= new Timer(); 
timer.schedule(new TimerTask(){ 
     runOnUiThread(new Runnable() { 
      public void run(){ 
       SplashImage.setImageDrawable(aktieknop); 
      } //closes run(){}   
     });  //closes runOnUiThread(Runnable(){ }); 
    },   //closes TimerTask(){} 
    SplashTime); 
関連する問題