我的 Activity 中包含以下代码。在我的xml中,视频 View 位于线性布局内。但是,单击该 View 时,永远不会触发onTouchListener
。我尝试将onTouchListener
更改为vvLive
,但没有执行任何操作。我还尝试将onTouchListener
更改为onClickListener
,但是什么也没有做。有人知道为什么听众不开火吗?谢谢。
private VideoView vvLive;
LinearLayout linearLayoutLiveVideo;
linearLayoutLiveVideo.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
Log.d(TAG, "onTouch entered");
if(event.getAction() == MotionEvent.ACTION_UP) {
Log.d(TAG, "ACTION_UP");
}
return false;
}
});
编辑:
我意识到上面的代码确实有效。 eclipse 使LogCat困惑。重新启动eclipse之后,LogCat将打印第一个日志“onTouch输入”。但是,未打印“ACTION_UP”。我将MotionEvent更改为
MotionEvent.ACTION_DOWN
并立即打印LogCat。为什么ACTION_DOWN
有效,但ACTION_UP
不起作用? 最佳答案
ACTION_UP永远不会发送给您的监听器,因为您返回false,因此不要“使用”该事件。返回true,您将获得开始事件(ACTION_DOWN)以及所有后续事件(ACTION_MOVE,然后是ACTION_UP)。
关于android - onTouchListener不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6279842/