【发布时间】:2011-06-08 13:55:39
【问题描述】:
我的活动中有以下代码。在我的 xml 中,视频视图位于线性布局内。但是,当单击视图时,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;
}
});
编辑:
我意识到上面的代码确实有效。日食中的某些东西弄乱了 LogCat。重新启动 eclipse 后,LogCat 打印第一个日志“onTouch 输入”。但是,没有打印“ACTION_UP”。我将 MotionEvent 更改为 MotionEvent.ACTION_DOWN,现在 LogCat 打印出来了。为什么ACTION_DOWN 有效而ACTION_UP 无效?
【问题讨论】:
-
这些视图是否显示在您的活动中?
-
布局的“clicable”属性是否设置为true?
-
@woodshy 添加 clickable=true 没有做任何事情
-
@dmon 是的,我正在一个 VideoView vvLive 内播放视频,该视频位于 LinearLayout linearLayoutLiveVideo 内。当用户触摸正在播放的视频时,我想执行一些操作。