指でパスを描くことができるカスタム ビューを作成しました。View クラスを拡張します。
ユーザーがカスタムビューに触れた場合、ListView内でそれをアイテムの1つとして使用すると、ListViewがスクロールされます。どうすればこれを防ぐことができますか?
どうにかしてカスタム ビューにフォーカスする必要があると思います。しかし、方法がわかりません。
アップデート:
可能な解決策を見つけました。カスタム ビューのonTouchEvent(Motion event)
メソッドにgetParent().requestDisallowInterceptTouchEvent(true);
.
これがないと、ユーザーがカスタム ビューに触れたときのイベント キューは次のようになります。
- MotionEvent.ACTION_DOWN
- MotionEvent.ACTION_MOVE
- MotionEvent.ACTION_MOVE
- MotionEvent.ACTION_CANCEL
MotionEvent
コードを受け取るとMotionEvent.ACTION_CANCEL
、ListView
スクロールが始まります。