Estoy usando Eclipse para Android. Estoy tratando de hacer una simple repetición del contador que tiene una breve demora.
Va a empezar después de un TextView timerTV se hace clic. Este código se encuentra en el método onCreate:

    timerTV = (TextView) findViewById(R.id.timerTV);
    timerTV.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

              Timer gameTimer = new Timer();
              TimerTask doThis;

              int delay = 5000;   //delay for 5 sec.
              int period = 1000;  //repeat every sec.
              doThis = new TimerTask() {
                public void run() {
                               Toast.makeText(getApplicationContext(), "timer is running", Toast.LENGTH_SHORT).show();
                }
              };
              gameTimer.scheduleAtFixedRate(doThis, delay, period);

Cada vez que trato de ejecutarlo, una «Clase File Editor» aparece el error:
«No se encontró el origen»
El archivo JAR C:\Program Files\Android\android-sdk\platforms\android-8\android.jar no tiene ningún origen de datos adjuntos.
Puede adjuntar la fuente haciendo clic en Adjuntar el Origen de abajo:
[Adjuntar La Fuente…]
Cuando hago clic en este, Eclipse me pide que seleccione la ubicación de la carpeta que contiene ‘android.jar’
He intentado hacer esto, pero no se puede navegar todo el camino hasta la carpeta en la que se encuentra en de todos modos.

Supongo que el problema está en mi código en algún lugar.
He estado buscando durante horas, incluso copiado y pegado el código muchas veces.

2 Comentarios

  1. 5

    El uso de un Temporizador real (java.util.Temporizador) en conjunto con runOnUiThread() es una manera de resolver este problema, y a continuación es un ejemplo de cómo implementarlo.

    public class myActivity extends Activity {
    
    private Timer myTimer;
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        myTimer = new Timer();
        myTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                TimerMethod();
            }
    
        }, 0, 1000);
    }
    
    private void TimerMethod()
    {
        //This method is called directly by the timer
        //and runs in the same thread as the timer.
    
        //We call the method that will work with the UI
        //through the runOnUiThread method.
        this.runOnUiThread(Timer_Tick);
    }
    
    private Runnable Timer_Tick = new Runnable() {
        public void run() {
    
        //This method runs in the same thread as the UI.               
    
        //Do something to the UI thread here
    
        }
    };
    }

    FUENTE: http://steve.odyfamily.com/?p=12

    • Hay buenas razones para no sacar provecho de cualquier otros métodos de constructores y de cualquiera de los nombres de las variables.
  2. 0

    Trate de usar Proyecto -> Limpia, a continuación, haga clic en su proyecto y Corrección de búsqueda de Propiedades del Proyecto. Compruebe que la construcción de la Ruta. Podría ser cualquiera de estas cosas. Reiniciar eclipse, asegúrese de que su Manifiesto de Android es la orientación correcta de la API, 8 supongo?

Dejar respuesta

Please enter your comment!
Please enter your name here