onTouchListener не вызывается при перетаскивании - PullRequest
1 голос
/ 08 марта 2012

enter image description here

У меня есть красные и зеленые LinearLayouts, и я настраиваю их на слушателей.

Когда я касаюсь зеленого, он превращается в белый (пока проблем нет) Когда я касаюсь красного, он также становится белым (пока проблем нет)

Проблема в том, что когда я касаюсь зеленого и перетаскиваю палец над красным (то есть, я не отпускаю палец, я просто перемещаю его над красным), тогда в этом сценарии только зеленый белый, но не красный.

Я надеюсь, что опишу хорошо, если вы не понимаете мою проблему, пожалуйста, спросите меня.

Спасибо за помощь

 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;
    }
});

1 Ответ

0 голосов
/ 08 марта 2012

Это потому, что событие касания началось на Зеленом квадрате, и поэтому движение пальцем вызовет только событие касания на Зеленом квадрате.Вы можете попытаться отправить сенсорное событие на красный квадрат в коде.Но я думаю, что нет стандартного способа сделать это.

...