touchlisteners e TextViews
-
18-09-2019 - |
Pergunta
Na verdade eu estou tentando implementar um ontouchlistener no meu (1,5) aplicação android. Portanto, eu implementou o "ontouchlistener" para a classe, e então eu coloquei meu código no:
public boolean onTouchEvent (MotionEvent e){
//code
}
O problema é que, se eu estou arrastando ao longo de um (por exemplo) Spinner ou EditTextView do que este método não é chamado. A única maneira de resolver este que eu descobri é adicionar um ontouchlistener a cada um dos pontos de vista manualmente:
((Spinner)(findViewById(R.id.spinner1))).setOnTouchListener(tl);
((Spinner)(findViewById(R.id.spinner2))).setOnTouchListener(tl);
(tl é o ontouchlistener) Portanto, não há uma maneira de pegar o evento de toque antes que ele chegue a cada um desses pontos de vista? obrigado antecipadamente
Ripei
Solução
O que exatamente você quer fazer - quer:
- detectar gestos inteiras em alguns
Activity
. - Detect toques apenas para um determinado
View
Se você deseja que o ex-:
Dê uma olhada neste exemplo: Fling detecção gesto de layout de grade.
Basicamente, você redirecionar todos os eventos de toque registrado em um GestureDetector
.
Ela compreende o que exatamente é a entrada do usuário (toque único, toque duplo, rolar, etc.) e chama o retorno de chamada correspondente em uma SimpleOnGestureListener
, que você deve implementar.
Se você deseja que o último:
Você pode:
- Substituir
onTouchEvent()
do View. - Implementar e
onTouchListener
gancho (se você deseja obter o toque antes de ser enviado a ele).
Se você quiser implementar onTouchListener
, você estará fazendo o seu trabalho não no método onTouchEvent()
, mas no método onTouch()
da interface.
Espero que ajude.