Java Android-未检测到操作启动
在下面的代码中,当我将手指移离联系人时,我无法理解为什么没有触发ACTION_UP事件Java Android-未检测到操作启动,java,android,Java,Android,在下面的代码中,当我将手指移离联系人时,我无法理解为什么没有触发ACTION_UP事件 public boolean onTouch(View v, MotionEvent event) { switch(event.getActionIndex()){ case MotionEvent.ACTION_UP: Utils.log("Touch Up"); break; case MotionEvent
public boolean onTouch(View v, MotionEvent event) {
switch(event.getActionIndex()){
case MotionEvent.ACTION_UP:
Utils.log("Touch Up");
break;
case MotionEvent.ACTION_DOWN:
Utils.log("Touch Down");
break;
}
return true;
}
用我的代码替换你的代码
public boolean onTouch(View v, MotionEvent event) {
//Here's the problem
switch(event.getAction()){
case MotionEvent.ACTION_UP:
Utils.log("Touch Up");
break;
case MotionEvent.ACTION_DOWN:
Utils.log("Touch Down");
break;
}
return true;
}
用我的代码替换你的代码
public boolean onTouch(View v, MotionEvent event) {
//Here's the problem
switch(event.getAction()){
case MotionEvent.ACTION_UP:
Utils.log("Touch Up");
break;
case MotionEvent.ACTION_DOWN:
Utils.log("Touch Down");
break;
}
return true;
}
你应该使用
返回单指针事件(以及不推荐的多指针事件…)getAction()
返回单个和多个指针事件(与getActionMasked()
一起使用以确定哪个指针)getActionIndex()
只返回指针索引getActionIndex()
getActionIndex()
返回哪个手指执行了向下/向上操作(0、1、2等),而getAction()
或getActionMasked()
返回您想要的单指针事件(action\u down
,action\u up
等)。您应该使用
返回单指针事件(以及不推荐的多指针事件…)getAction()
返回单个和多个指针事件(与getActionMasked()
一起使用以确定哪个指针)getActionIndex()
只返回指针索引getActionIndex()
因此
getActionIndex()
返回哪个手指执行了向下/向上操作(0、1、2等),而getAction()
或getActionMasked()
返回您想要的单指针事件(action\u down
,action\u up
等)。对于其他有类似问题的手指,行动没有被触发的原因之一可能是行动过于敏感。在这种情况下,ACTION\u UP永远不会被触发,因为系统将触摸动作解释为ACTION\u MOVE并触发它
一个解决方案是,如果x和y偏移量足够大,可以将其作为动作移动处理,则检查何时发生动作移动,否则,可以将其作为动作向上威胁。
对于其他有类似问题的人来说,不启动ACTION\u UP的原因之一可能是ACTION\u MOVE过于敏感。在这种情况下,ACTION\u UP永远不会被触发,因为系统将触摸动作解释为ACTION\u MOVE并触发它 一个解决方案是,如果x和y偏移量足够大,可以将其作为动作移动处理,则检查何时发生动作移动,否则,可以将其作为动作向上威胁。
开关(event.getAction())
开关(event.getAction())