Как я могу различать OnClick и Swipe на элементе TListView Firemonkey с помощью Delphi XE6

У меня есть форма с TListView. Я загружаю некоторые элементы, и они отображаются нормально. Если я коснусь (OnClick) элемента, я могу отобразить вторую форму с деталями элемента и некоторыми дополнительными параметрами.

Однако, если я проведу пальцем вправо (чтобы активировать кнопку «Удалить»), я получу событие OnClick и отобразится подробная форма. Когда я закрываю форму сведений (или использую кнопку «Назад»), в TListView теперь отображается кнопка «Удалить».

Итак, короткая версия этого: как я могу остановить запуск события OnClick при выполнении Swipe?

Я пытался добавить флаг и установить флаг в OnDeleteChangeVisible и/или OnGesture, но флаг никогда не устанавливается, и я не вижу, чтобы эти события срабатывали при запуске в режиме отладки.

var isDelete: Boolean

procedure TfrmTaskList.lvTaskListDeleteChangeVisible(Sender: TObject;
  AValue: Boolean);
begin
  if (AValue = True) then
    isDelete := True
  else
    isDelete := False;
end;

procedure TfrmTaskList.lvTaskListGesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
    if (EventInfo.GestureID = sgiRight) then
    begin
      isDelete := True
    end
    else
    begin
      isDelete := False;
    end;
end;

Любая помощь, советы, ресурсы будут с благодарностью. Спасибо


person JFish    schedule 23.07.2014    source источник


Ответы (1)


Используйте OnTap вместо OnClick события

person Josip Mihovilovic    schedule 19.02.2015