我写了以下几行代码:
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是不是不可能?如果是这样,为什么会这样呢?
发布于 2011-07-01 03:36:14
使用VideoView.setOnTouchListener(..)
它适用于VideoView
发布于 2013-01-05 03:04:59
下面是我如何使用onTouch解决VideoViews的暂停/播放问题:
// 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;
}
});
发布于 2013-01-05 11:24:19
我知道这很老,但我用了这个:
mVideoView.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i(TAG, "Video 1 clicked, starting playback");
return false;
}
});
https://stackoverflow.com/questions/6175456
复制相似问题