Как найти промежуток времени между действием вверх и вниз действия в Android - PullRequest
0 голосов
/ 16 августа 2011

У меня есть следующий код ...

public boolean onTouch(View view, MotionEvent me) {

    //here i want to know the  time of touch

    switch (me.getAction()) {
       case MotionEvent.ACTION_DOWN: { }  
       case MotionEvent.ACTION_UP: { }
       -
       -
       -
   }
  }

Любая идея?

Ответы [ 3 ]

7 голосов
/ 16 августа 2011

Это довольно просто

public yourClass{
    long down;    
    public boolean onTouch(View view, MotionEvent me) {
        //you don't need here the difference because it might be a down action!
        //you need the difference when the up action occurs
        switch (me.getAction()) {
            case MotionEvent.ACTION_DOWN:
                down = System.currentTimeMillis();
                break;
            case MotionEvent.ACTION_UP:
                //this is the time in milliseconds
                long diff = System.currentTimeMillis() - down; 
                break;
        }
    }
}     
2 голосов
/ 16 августа 2011

Полагаю, вы хотите измерить время между двумя событиями.Это очень просто.Все, что вам нужно, это найти метод API, который возвращает текущее время.В этом случае android.os.SystemClock.elapsedRealtime () или .uptimeMillis () должны служить вам ( документация для Android ).
Когда происходит первое событие, вы сохраняете текущее время в переменной.На втором событии вы просто вычисляете разницу между текущим временем и значением, которое вы сохранили ранее.

0 голосов
/ 16 августа 2011

Вы можете использовать

System.currentTimeMillis();

, чтобы зафиксировать время каждого события

...