Я пытался написать небольшое приложение, которое распознает пользовательские события в 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 к таблице в упражнении. Но я получаю странные ошибки: кажется, что координаты отключены одним видом (то есть, если я касаюсь вида ниже, вид выше реагирует); или иногда один будет реагировать, а другой нет. Есть идеи, что может происходить?