5

De alguna manera no funciona, según yo debería ser la siguiente:?runOnUiThread (nueva Ejecutable() {puntuacion (token) tema

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() 

Alguien alguna idea de dónde me falta algo

COMENTARIO FORMAL Sé tonto, o tal vez estoy haciendo algo imposible, pero probé todas las posibilidades lógicas. Probablemente falta algo o estoy tratando de hacer algo que no es posible. ¿Puede ayudarnos? me out. Estoy tratando de usar el followi código ng, pero que da problemas token:

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

    runOnUiThread(new Runnable() { 

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

     });} 

    },SplashTime); 

Si bloqueo a cabo la runOnUiThread se bloquea ya que estoy tratando de adaptar la interfaz de usuario desde otro hilo, pero tema al menos hay un token, nadie alguna idea ?:

Timer timer= new Timer(); 


    timer.schedule(new TimerTask(){ 

// runOnUiThread(new Runnable() { 

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

    // });} 

    },SplashTime); 
+0

intenté usar Activity_name.this.runOnUiThread (...)? –

+0

Hola Lalit, da el mismo problema, eclipse me da el comentario que debo agregar o eliminar; y} {etc. Sin cosas bloqueadas, el comentario que recibo está en la línea con timer.schedule y SplashTime al final. Parece que Eclipse no reconoce la tarea del temporizador cuando se agrega runOnUiThread. – Diego

Respuesta

9

Tanto el TimerTask y el Ejecutable requerir la implementación de un método de ejecución, por lo que tendrá dos run métodos.

También su código será más fácil de leer si separa la construcción de Runnable de la construcción de 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

+, perdí la falta de 'run()' para 'TimerTask' – Vladimir

1

Tiene exceso "}" antes de SplashTime. Ha comentado una apertura "{" y dos cerrando "}", por lo que su código original tiene un "}" no requerido.

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);