首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓:为什么我不能把onClickListener给VideoView?

安卓:为什么我不能把onClickListener给VideoView?
EN

Stack Overflow用户
提问于 2011-05-30 19:04:43
回答 10查看 29.1K关注 0票数 62

我写了以下几行代码:

代码语言:javascript
复制
 mVideoView = (VideoView) findViewById(R.id.video_view);
    mVideoView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.v("LOG_TAG, click");
        }
    });

但是,当我运行我的应用程序时,从不调用click事件。

所以我想知道,在VideoView上注册OnClickListener是不是不可能?如果是这样,为什么会这样呢?

EN

回答 10

Stack Overflow用户

发布于 2011-07-01 03:36:14

使用VideoView.setOnTouchListener(..)它适用于VideoView

票数 83
EN

Stack Overflow用户

发布于 2013-01-05 03:04:59

下面是我如何使用onTouch解决VideoViews的暂停/播放问题:

代码语言:javascript
复制
// Class variables
private boolean bVideoIsBeingTouched = false;
private Handler mHandler = new Handler();

vvVideo.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    if (!bVideoIsBeingTouched) {
        bVideoIsBeingTouched = true;
    if (vvVideo.isPlaying()) {
        vvVideo.pause();
    } else {
        vvVideo.resume();
    }
    mHandler.postDelayed(new Runnable() {
        public void run() {
            bVideoIsBeingTouched = false;
        }
        }, 100);
    }
    return true;
    }
});
票数 16
EN

Stack Overflow用户

发布于 2013-01-05 11:24:19

我知道这很老,但我用了这个:

代码语言:javascript
复制
    mVideoView.setOnTouchListener(new View.OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            Log.i(TAG, "Video 1 clicked, starting playback");

            return false;
        }
    });
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6175456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档