Android: вложенные ссылки внутри интерактивного макета - PullRequest
2 голосов
/ 19 мая 2011

Вот сценарий:

  1. У меня есть RalativeLayout с ImageView и несколько TextViews.
  2. Внутри этих TextViews есть "связанные ссылки" элементы, такие как URL, номера телефонов и т. Д.
  3. Нажатие на ссылки приводит к различным действиям, а также нажатие на ImageView также запускает некоторые действия.
  4. Теперь - я хочу, чтобы внешний onClick был присоединен ко всей области RelativeLayout таким образом, чтобы, если пользователь щелкает в любом месте внутри макета (кроме изображения и ссылок), он выполняет другое действие

Прямо сейчас у меня есть layout#onClick, image#onClick, и встроенные ссылки обрабатываются Linkify. Клики по изображениям и ссылкам работают надежно, но клики по макету фиксируются примерно в 50% случаев, и я полагаю, что это расстроит пользователей до слез. Ребята, какие уловки вы можете предложить, чтобы повысить надежность? А если нет, то что было бы хорошим способом достижения этого с точки зрения удобства использования?

1 Ответ

0 голосов
/ 23 мая 2011

Поскольку никто не дал ответа, я могу поделиться своими мыслями о решении.По сути, я решил не бороться с перекрывающимися обработчиками щелчков и вместо этого начать с включенного onClick на родительском.Затем, когда родитель обнаруживает щелчок, он отключает свой фокус и позволяет другим элементам управления позаботиться о щелчках.Я также добавил кнопку «Выкл.», Которая видна только тогда, когда родительский элемент развернут, и нажатие на него сворачивает родительский элемент и возвращает фокус в родительское представление.Дайте мне знать, если вы знаете лучшее решение

...