ScrolView在滚动时忽略OnTouch?

时间:2012-01-31 17:37:20

标签: android

我有一个ScrollView - >表=> TableRow我动态添加Rows,每行都有一个LinearLayout,我将OnTouchListener附加到其中,然后当它触及我做的事情。至少那是计划,我遇到的问题是当你在ScrollView中滚动时,即使滚动它也会触发这些事件。我在ScrollView中的其他控件(如Buttons,ImageButtons,EditText

)不会出现这种行为。

我的问题是当ScrollView像Button和EditText字段一样滚动时,如何让LinearLayout忽略这些OnTouch事件呢?

1 个答案:

答案 0 :(得分:6)

在onTouch事件回调中,将if语句或大小写块添加到检查

的语句块或大小写块

(me.getAction == MotionEvent.ACTION_CANCEL)与此类似:

else if (me.getAction() == MotionEvent.ACTION_CANCEL){
                 Log.i(myTag, "Action Cancel");

                 //This means we are scrolling on the list, not trying to press


}

我工作已经有很长一段时间了,但我知道我必须在某一时刻解决这个问题,现在我快速浏览一下,我认为这是我必须做的才能使它工作。当列表滚动时,它将继续接收回调,但应取消对它们的操作。因此,如果您设置某种if或者切换/ case来检查action_cancel并且在它为true时什么都不做,那么从用户的角度来看,onTouch将“忽略”滚动时发生的事件。