Devo rilevare nella mia applicazione quando l'utente smette di spostarsi attraverso una vista specifica. Sto creando qualcosa di simile al testo della marca nella mia applicazione che può interagire mentre l'utente sta toccando la vista e si muove su di essa. E ho bisogno di iniziare a scorrere la vista dopo che l'utente ha alzato il dito. Come noto, se metto il dito sulla vista per alcuni secondi e quando alzo il dito, non viene chiamato lo MotionEvent.ACTION_UP
. L'ultimo evento che catturo è ACTION_MOVE
. Quindi, come posso rilevare quando l'utente alza il dito dopo aver attraversato la vista per alcuni secondi? Esiste qualche tipo di funzione in grado di rilevarlo?come rilevare quando MotionEvent.ACTION_MOVE è terminato
Ecco il codice che sto usando:
txt.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, final MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.e("","event down : "+event.getAction());
handler.removeCallbacks(runnable);
break;
case MotionEvent.ACTION_UP:
Log.e("","event up : "+event.getAction());
if(myTimer!=null){
myTimer.cancel();
}
break;
case MotionEvent.ACTION_MOVE:
Log.d("","move");
// handler.removeCallbacks(runnable);
checkX();
break;
}
return true;
}
});
Grazie in anticipo!
mostra il tuo codice. quindi possiamo aiutare il codice di esempio – rajpara
aggiunto. –
Ho lo stesso problema con il multitouch, dopo il primo dito su MotionEvent.ACTION_MOVE viene inviato, quindi MotionEvent.ACTION_POINTER_UP. È qualcosa di stupido ... –