Перейти к содержанию
Fire Monkey от А до Я
  • 0

Срабатывает OnClick на ListBox при скроллинге


Ra72

Вопрос

Уважаемые эксперты!
Подобная тема уже была, но она немного не о том, о чем я хотел бы спросить.
Есть список, и у элементов этого списка определены события OnClick.
Если запустить его на мобильном устройстве, то прокрутка списка осуществляется проведением пальцем по списку.
В момент отрыва пальца от экрана срабатывает событие OnClick на элементе списка, но я делаю скроллинг и подразумеваю пролистывание, а не нажатие.
Как мне сделать поведение моего списка ожидаемым, чтобы при скроллинге не срабатывал OnClick?
Архив проекта: TestListBox.rar 

Изменено пользователем Ra72
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Помогло, только для срабатывания OnTap пришлось на Item-ах установить HitTest=true. Думал скроллинг не будет работать, но нет, - работает. Выделение элемента только не работает, но оно мне не нужно.

Ссылка на комментарий
  • 0
В 06.02.2020 в 18:25, slav_z сказал:

в OnClick элемента списка сделайте проверку:


procedure TForm1.ListBoxItemClick(Sender: TObject);
begin
  if not ListBox.AniCalculations.Moved then DoItemClick;
end;

 

Прощу прощения за тупость но я, например, не понял. Что можно отказаться от OnTap? Что такое DoItemClick? Например у меня пять итемов и в их OnTap-ax коды (ShowMessage 1,  ShowMessage 2.....)

Так как будет выглядеть общая картина чтобы и выделение было и код срабатывал и скролинг работал нормально? Благодарю.

Ссылка на комментарий
  • 0

OnTap лучше не используйте, я бы сделал на обычный OnClick... перед вызовом действий, связанных с элементами списка (ваши ShowMessage 1,  ShowMessage 2 ), просто проверьте "а не прокручивается ли сейчас listbox (scrollbox)" с помощью ListBox.AniCalculations.Moved...

Ссылка на комментарий
  • 0
В 15.02.2020 в 17:36, slav_z сказал:

OnTap лучше не используйте, я бы сделал на обычный OnClick... перед вызовом действий, связанных с элементами списка (ваши ShowMessage 1,  ShowMessage 2 ), просто проверьте "а не прокручивается ли сейчас listbox (scrollbox)" с помощью ListBox.AniCalculations.Moved...

Не могли бы аргументировать, почему лучше не использовать OnTap?

Ссылка на комментарий
  • 0
39 минут назад, Morfi сказал:

Не могли бы аргументировать, почему лучше не использовать OnTap?

я уже не помню что в этой ветке... OnTap можно использовать для мобильных приложений, для кроссплатформенных лучше обычный OnClick

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...