2012-07-29 18 views
6

Devo essere in grado di dire quando l'utente sta tenendo premuto un pulsante e quando l'utente lascia andare. Questo è diverso da onClickListener e onLongClickListener. Come potrei fare qualcosa del genere?Android per rilevare quando si tiene premuto un pulsante

Per esempio si preme un pulsante che avvia un cronometro (pseudo codice)

if ButtonIsBeingPressed 
{ 
chronometer start(); //and keep going 
} 
else chronometer stop(); 
//or on release or something 
} 

risposta

14

Guardare in OnTouchListener ha MotionEvents per Down (stampa) e Up (rilascio):.

view.setOnTouchListener(new OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch(event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      // Start 
      break; 
     case MotionEvent.ACTION_UP: 
      // End 
      break; 
     } 
     return false; 
    } 
});