2016-04-11 2 views
-2

Я хочу получить время нажатия клавиши в миллисекундах.Android: Как я могу управлять нажатием клавиш?

Example, если пользователь нажимает клавишу «F», я хочу получить значение в миллисекундах времени прессования.

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;} 

ответ

0

нет таких заранее определить метод, но вы можете рассчитывать время между нажатием клавиши вниз и нажатием клавиши вверх

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

я проверить программу, но она не работает. «метод keyPressed никогда не используется» – ChrisB

Смежные вопросы