2011-04-26 21 views
17

Estoy tratando de configurar una situación en la que estoy esperando un pequeño período de tiempo, por ejemplo 3 segundos y sigo. Pero si el usuario hace clic en mi botón en la pantalla, entonces sigue como siempre. Ambos eventos activarán el mismo comportamiento, es decir, actualizar el texto en la pantalla. ¿¿Alguna idea??espere 3 segundos o haga clic en

Nuevo en Android pero mclovin' it

Gracias de antemano

Respuesta

26

Pruebe algo como esto:

private Thread thread;  

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.layoutxml); 

    final MyActivity myActivity = this; 

    thread= new Thread(){ 
     @Override 
     public void run(){ 
      try { 
       synchronized(this){ 
        wait(3000); 
       } 
      } 
      catch(InterruptedException ex){      
      } 

      // TODO    
     } 
    }; 

    thread.start();   
} 

@Override 
public boolean onTouchEvent(MotionEvent evt) 
{ 
    if(evt.getAction() == MotionEvent.ACTION_DOWN) 
    { 
     synchronized(thread){ 
      thread.notifyAll(); 
     } 
    } 
    return true; 
}  

Espera 3 segundos para continuar, pero si el usuario toca la pantalla de la rosca es notificado y deja de esperar.

+0

¿podría proporcionar la definición de 'mSplashThread' – WarrenFaith

+0

Lo sentimos, mSpashThread fue en realidad el hilo, se olvidó de actualizar esa referencia haciendo que el código tan general como posible – ferostar

+1

esto es lo que quiero , gracias ferostar! –

-3

intente lo siguiente,

button = (Button) findViewById(R.id.buttonView); 
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Runnable clickButton = new Runnable() { 
      @Override 
      public void run() { 
       // whatever you would like to implement when or after clicking button 
      } 
     }; 
     button.postDelayed(clickButton, 3000); //Delay for 3 seconds to show the result 
} 
+0

por favor, no publique la misma respuesta a varias preguntas: o no se ajustan exactamente o la pregunta es un duplicado y debe marcarse como tal – kleopatra