いくつかのカスタム ビューを含む複雑なフレーム レイアウトがあります。主なビューはグラフです。
グラフのオーバーレイは、ユーザーがグラフ上でドラッグして特定のデータ ポイントに関する詳細情報を読み取ることができる十字ポインターを表すカスタム ビューです。
フレーム レイアウトはすべてのタッチ イベントをキャプチャし、各子ビューで「ヒット テスト」メソッドを呼び出して、タッチがそのビューにあったかどうかを判断し、タッチ イベントを適切なビューにディスパッチします。
ユーザーが十字線に触れてドラッグすると、タッチイベントを十字線に渡し、それを使用して位置を更新し、それ自体を無効にします。
すべてが機能しています...
これらの子ビューのいずれかを無効にすると、レイアウト内のすべてのビューが再描画されます。開発者向けオプションで「画面の更新を表示」をオンにしているので、これを知っています。含まれている FrameLayout を無効にすることは決してありません - または少なくとも、故意ではありません。
確かに、レイアウトを処理するアクティビティはレイアウトを無効にせず、子ビューに親への参照はありません。
それ以来、私はコードを投稿していません。a) これが通常の動作であるかどうかはわかりません。b) たくさんあります。c) 通常の動作でない場合、コードのどの部分に問題があるのかわかりません。もちろん、ご要望があれば何でも承ります。
私の最小 API は 2.3.3 で、ターゲットは 4.0 です。これは両方のバージョンで発生するため、コードに問題があると思われますが、どこから始めればよいでしょうか?
何が起こっているのかについての手がかりはありますか?