Comment mettre en œuvre un événement double clic dans Android sans utiliser gesturedetector?Double-cliquez sur événement en android
Répondre
Si vous voulez dire appuyez deux fois sur vous devez utiliser GestureDetector.OnDoubleTapListener.
Regardez le code source pour GestureDetector
et copier les bits dont vous avez besoin (en particulier, regardez la méthode isConsideredDoubleTap
)
je suis en utilisant l'application graphique si je clique sur le point pour double-cliquez, il ira à une autre activité.if je suis utilisé détecteur de gestes si je clique partout où il ira à une autre activité – user386430
Je suis sûr que tout le code là-bas est de déterminer si le deuxième clic était dans un certain laps de temps du premier clic, sinon traiter comme un deuxième clic. C'est comme ça que je le ferais de toute façon. Il suffit d'utiliser setOnTouchListener pour enregistrer le premier et le second temps de cliquage.
Si elles sont très proches, déterminez-le en double-cliquant. Comme cela,
public class MyActivity extends Activity {
private final String DEBUG_TAG= "MyActivity";
private long firstClick;
private long lastClick;
private int count; // to count click times
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Button mButton= (Button)findViewById(R.id.my_button);
mButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
// if the second happens too late, regard it as first click
if (firstClick != 0 && System.currentTimeMillis() - firstClick > 300) {
count = 0;
}
count++;
if (count == 1) {
firstClick = System.currentTimeMillis();
} else if (count == 2) {
lastClick = System.currentTimeMillis();
// if these two clicks is closer than 300 millis second
if (lastClick - firstClick < 300) {
Log.d(DEBUG_TAG,"a double click happened");
}
}
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
});
}
}
Regardez ici, c'est une bibliothèque dans un bocal pour l'écoute des gestes tactiles, mettre en œuvre et le travail) https://github.com/NikolayKolomiytsev/zTouch
- 1. événement de pression de touche en android
- 2. événement clé dans Android
- 3. Événement Android ScreenLock?
- 4. Événement de journal Android
- 5. Android Maps obtient événement Scroll
- 6. Android "hover" événement en mise en page personnalisée
- 7. puis-je écrire mon propre événement sur android: imeOptions = "actionSearch"?
- 8. Déclenchement d'un événement futur basé sur un événement en cours
- 9. Clé de puissance de l'émulateur Android longue Appuyez sur événement
- 10. Obtenez les coordonnées d'un événement tactile sur Android
- 11. déclencher un événement par code dans android
- 12. rapport Crystal événement en cliquant sur
- 13. Android: délèguent événement tactile pour voir underlaying
- 14. déliaison événement mouseover sur événement click
- 15. sur événement clic sur .swf
- 16. (Android) Comment attraper un événement "anneau"?
- 17. Application Android lors d'un événement de sortie
- 18. android onClick événement ne tirant pas
- 19. Android: événement ListView onClick dans les onglets
- 20. Besoin d'aide avec Android TrackBall Événement
- 21. événement sur Keypress
- 22. android événement click ImageButton dans xml
- 23. Android: poster un événement dans google calendar
- 24. En utilisant AbsoluteLayout sur Android?
- 25. événement Impression sur C#
- 26. en cliquant sur la fonction en android
- 27. ClickEvent sur ImageButton dans Android?
- 28. Événement NewWindow3 sur WebBrowser étendu
- 29. Déclencher événement lorsque le bouton est enfoncé dans Android
- 30. Android Broadcastlistener à partir de code à un événement spécifique
Qu'est-ce qu'un double clic sur l'écran du mobile? – Pentium10
Pourquoi ne pas utiliser le gesturedetector? – Janusz