1

ここに画像の説明を入力

赤と緑の LinearLayouts があり、ontouch リスナーをそれらに設定します。

緑色のものに触れると白に変わります(今のところ問題ありません)赤いものに触れると白にも変わります(今のところ問題ありません)

問題は、緑色のものに触れて、指を赤いものの上にドラッグすると(つまり、指を離さず、赤いものの上に移動するだけです)、この種のシナリオでは、緑のものだけが白くなりますが、そうではありません赤いもの。

うまく説明できれば幸いです。問題が解決しない場合は、お問い合わせください。

助けてくれてありがとう

 green.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
             v.setBackgroundColor(Color.WHITE);
            return true;
        }
    });

red.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
         v.setBackgroundColor(Color.WHITE);
        return true;
    }
});
4

1 に答える 1

0

これは、タッチ イベントが緑の四角で開始されたため、指を動かすと緑の四角でのみタッチ イベントが呼び出されるためです。コード内の赤い四角にタッチ イベントを送信してみてください。しかし、それを行う標準的な方法はないと思います。

于 2012-03-08T11:23:30.767 に答える