如何使用Delphi XE6区分Firemonkey TListView项目上的OnClick和Swipe

时间:2014-07-23 17:52:57

标签: android mobile firemonkey delphi-xe6

我有一个带有TListView的表单。我加载一些项目,它显示正常。 如果我点击(OnClick)一个项目,我可以显示第二个表单,其中包含项目详细信息和一些其他选项。

但是,如果我向右滑动(激活“删除”按钮),我会收到OnClick事件,并显示详细信息表单。当我关闭Detail表单(或使用“Back”按钮)时,TListView现在显示了Delete按钮。

所以,这个的简短版本是如何在完成滑动时停止触发OnClick事件?

我尝试添加一个标志,并在OnDeleteChangeVisible和/或OnGesture中设置标志,但标志似乎永远不会被设置,我在调试模式下运行时看不到这些事件。< / p>

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;

任何帮助,建议,资源将不胜感激。感谢

1 个答案:

答案 0 :(得分:2)

使用OnTap代替OnClick事件