私は小さいながらも素晴らしいオープン ソース プロジェクトに取り組んでいRealViewSwitcher
ます。Android の Launcher のように、水平方向のフリングを実行して複数のビューを切り替えることができます。ViewGroup
実装onInterceptTouchEvent
しonTouchEvent
て物事を機能させるのは単純です。実際、ほとんどのコードはファイルWorkspace.java
(572 行目以降) から取得したものであり、タッチ イベントを処理する 2 つのメソッドも同様です。多くの変更はありません。
しかし、私はこのことを機能させません。私の現在の労働者階級はここに投稿されています(かなり大きいのでpastebinに掲載されています): http://pastebin.com/8p8GCEZK
クラスを実行すると (クラスを作成し、いくつかの TextView を追加して、それをアクティビティのコンテンツ ビューとして設定するだけです)、クイック フリングを実行すると、次の出力が得られます。
12-15 23:53:04.797: INFO/RealViewSwitcher(7477): intercept ACTION_DOWN
12-15 23:53:04.797: INFO/RealViewSwitcher(7477): touch ACTION_DOWN
12-15 23:53:04.807: INFO/RealViewSwitcher(7477): touch ACTION_MOVE
12-15 23:53:04.840: INFO/RealViewSwitcher(7477): touch ACTION_MOVE
12-15 23:53:04.867: INFO/RealViewSwitcher(7477): touch ACTION_MOVE
12-15 23:53:04.897: INFO/RealViewSwitcher(7477): touch ACTION_MOVE
12-15 23:53:04.897: INFO/RealViewSwitcher(7477): touch ACTION_UP
私の問題は次のとおりです。私が何をしても、ACTION_MOVE
私のonInterceptTouchEvent
方法では得られません。私はドキュメントを何度も読み、戻り値をいじろうとしましたが、そこ以外のイベントは取得しません。ACTION_DOWN
フリングを開始する実際のコードがACTION_MOVE
ケースにあるため、これは醜いです。
ここで私を助けてもらえますか?私が得られない厄介なこと:公式のランチャーアプリケーションでも同じように実装されているようです。しかし、彼らのコードは機能しますが、私のコードは機能しません。私は何が欠けていますか?