ユーザーが Android ScrollView でスクロールできないようにしたいのですが、スクロール ビュー内にあるボタンをタップすると検出されます。
私は ScrollView クラスをサブクラス化し、メソッドonInterceptTouchEventとonTouchEventメソッドをいじっていますが、完全に正しく理解できないようです。以下のコードはスクロールを停止しますが、タップを無効にしているようです (ただし、何も動かさずに上下に移動する場合は機能しますが、タップ時に指がわずかに動く場合は登録されません)。またonInterceptTouchEvent、ほとんど機能する も削除しましたが、ユーザーが指を離してもスクロールビューはスクロールします。
@オーバーライド
public boolean onInterceptTouchEvent(MotionEvent ev)
{
App.log("onInterceptTouchEvent、アクション: " + ev.getAction());
スイッチ (ev.getAction())
{
ケース MotionEvent.ACTION_MOVE:
true を返します。
}
super.onInterceptTouchEvent(ev) を返します。
}
@オーバーライド
public boolean onTouchEvent(MotionEvent ev)
{
App.log("onTouchEvent、アクション: " + ev.getAction());
スイッチ (ev.getAction())
{
ケース MotionEvent.ACTION_MOVE:
false を返します。
}
super.onTouchEvent(ev) を返します。
}