несоответствие координат события и просмотра координат в Android?

Я пытался написать небольшое приложение, которое распознает пользовательские события в Android: вы держите палец над TextView в течение определенного промежутка времени, и он меняет цвет. Я использую координаты MotionEvent и проверяю, находятся ли они в пределах определенного TextView, который находится внутри таблицы.

private boolean checkBounds(TextView v, MotionEvent event) {

        int[] origin = new int[2];
        v.getLocationOnScreen(origin);

        if ((event.getX() > origin[0]) && (event.getX() < (origin[0] + v.getMeasuredWidth()))) {
            if ((event.getY() > origin[1]) && (event.getY() < (origin[1] + v.getMeasuredHeight()))) {
                return true;
            }
        }
        return false;
    }

Я просто прикрепляю слушателя onTouch к столу в игре. Но я получаю странные ошибки: кажется, что координаты отключены одним видом (то есть, если я касаюсь вида ниже, вид выше реагирует); или иногда один будет реагировать, а другой нет. Есть идеи, что может происходить?

Ответы на вопрос(1)

Ваш ответ на вопрос