无法在 onTouch 中按下时间
Can't get time pressed in onTouch
我正在尝试获取用户按下按钮所花费的时间。我就是这样做的:
var timeDown = 0L
when (event.actionMasked) {
MotionEvent.ACTION_DOWN -> {
timeDown = event.eventTime
true
}
MotionEvent.ACTION_UP -> {
val totalTime = event.eventTime - timeDown`
if (totalTime <= 500) {
do something
}
}
}
但不是减法,totalTime只保留了Action_UP
的eventTime
这是我的 LogCat:
2020-05-13 11:58:57.194 11259-11259/app D/timeDown: 34492026
2020-05-13 11:58:57.240 11259-11259/app D/timeUp: 34492083
2020-05-13 11:58:57.240 11259-11259/app D/totalTime: 34492083
确保 var timeDown = 0L
在触摸时调用的函数之外(例如 onInterceptTouchEvent),因为您在收到的每个事件上都分配了 = 0,所以您最终会进入 "ACTION_UP ->" timeDown = 0 并且 totalTime 变得等于 event.eventTime.
我正在尝试获取用户按下按钮所花费的时间。我就是这样做的:
var timeDown = 0L
when (event.actionMasked) {
MotionEvent.ACTION_DOWN -> {
timeDown = event.eventTime
true
}
MotionEvent.ACTION_UP -> {
val totalTime = event.eventTime - timeDown`
if (totalTime <= 500) {
do something
}
}
}
但不是减法,totalTime只保留了Action_UP
eventTime
这是我的 LogCat:
2020-05-13 11:58:57.194 11259-11259/app D/timeDown: 34492026
2020-05-13 11:58:57.240 11259-11259/app D/timeUp: 34492083
2020-05-13 11:58:57.240 11259-11259/app D/totalTime: 34492083
确保 var timeDown = 0L
在触摸时调用的函数之外(例如 onInterceptTouchEvent),因为您在收到的每个事件上都分配了 = 0,所以您最终会进入 "ACTION_UP ->" timeDown = 0 并且 totalTime 变得等于 event.eventTime.