2016-04-11 4 views
-2

Je veux obtenir une pression sur une touche, en millisecondes.Android: Comment puis-je gérer la pression des touches?

Example Si l'utilisateur appuie sur la touche 'F' je souhaite obtenir la valeur en millisecondes du temps de pressage.

public void keyPressed(KeyEvent event) { 
    int keyCode = event.getKeyCode(); 
    switch (keyCode) { 
     case KeyEvent.ACTION_DOWN: 
      // start timer 
      inizio = System.currentTimeMillis(); 
      break; 
     case KeyEvent.ACTION_UP: 
      // end timer 
      long diffInSec = (System.currentTimeMillis() - inizio); 
      Toast.makeText(this, "Click durato " + diffInSec, Toast.LENGTH_SHORT).show(); 
      break;} 

Répondre

0

il n'y a pas une telle méthode de pré-définir, mais vous pouvez compter le temps entre appuyer sur la touche vers le bas et appuyez sur la touche jusqu'à

public void keyPressed(KeyEvent e) { 
    int keyCode = e.getKeyCode(); 
    switch(keyCode) { 
     case KeyEvent.ACTION_UP: 
      // end timer 
      break; 
     case KeyEvent.ACTION_DOWN: 
      // start timer 
      break; 

    } 
} 
+0

je teste le programme, mais il ne fonctionne pas. "La méthode keyPressed n'est jamais utilisée" – ChrisB