touchlisteners e textviews
-
18-09-2019 - |
Domanda
In realtà sto cercando di implementare un ontouchlistener nel mio Android (1.5) dell'applicazione. quindi ho implementato il "ontouchlistener" in classe, e poi ho messo il mio codice in:
public boolean onTouchEvent (MotionEvent e){
//code
}
Il problema è, che se sto trascinando su una (per esempio) o Spinner EditTextView di questo metodo non viene chiamato. L'unico modo per risolvere questo che ho capito è quello di aggiungere un ontouchlistener a ciascuna di queste vedute manualmente:
((Spinner)(findViewById(R.id.spinner1))).setOnTouchListener(tl);
((Spinner)(findViewById(R.id.spinner2))).setOnTouchListener(tl);
(TL è l'ontouchlistener) Quindi non c'è un modo per catturare l'evento di tocco prima che arrivi a ciascuno di questi punti di vista? grazie in anticipo
Ripei
Soluzione
Che cosa vuoi fare - vuoi:
- Detect gesti interi in alcuni
Activity
. - Detect tocchi solo per un determinato
View
Se si desidera che l'ex:
Date un'occhiata a questo esempio: rilevamento scagliare gesto la layout griglia .
In sostanza, si reindirizzare tutti gli eventi registrati tocco ad un GestureDetector
.
Si capisce che cosa è esattamente l'input dell'utente (singolo tocco, doppio tocco, scorrimento, etc.) e richiama il callback corrispondente un SimpleOnGestureListener
, che è necessario implementare.
Se si desidera che il secondo:
È possibile:
- Override del View
onTouchEvent()
. - Implementare e gancio
onTouchListener
(se si desidera ottenere il tocco prima di essere inviato ad esso).
Se si desidera implementare onTouchListener
, vi ritroverete a fare il vostro lavoro non nel metodo onTouchEvent()
, ma nel metodo onTouch()
dell'interfaccia.
La speranza che aiuta.