将棋プログラミング

(将棋に関する)ソフトウェア開発のノウハウ等。

Android の VideoView のタッチ操作を無効にする / 処理する

Android の VideoView を使ったとき、VideoView をタッチすると、その下の View でタッチ操作が処理される。
それを防止するため、VideoView のタッチ操作を無効にしようとする。
通常、View のタッチ操作を無効にするには、次のようにする。

(1)
view.setEnabled(false);
(2)
view.setClickable(false);

しかし、VideoView では、上記コードでは、タッチ操作は無効にならない。
VideoView のタッチ操作を無効にするには、次のようなコードとし、タッチ操作を処理する。

videoView.setOnTouchListener(new View.OnTouchListener() {
	@Override
	public boolean onTouch(View v, MotionEvent event) {
		// 処理
		return true;
	}
});

なお、このとき、次の警告が表示される。

Custom view 'VideoView' has setOnTouchListner called on it but does not override performClick

この警告を消すには、VideoView を継承したクラスを作成し、performClick() を Override する。

参考サイト:
stackoverflow.com