0

我有一个 Delphi Berlin 构建的 Android 应用程序,其中包含一个 TListBox。在某些时候,我手动添加了一个 TListItem (下面的代码)。不幸的是,用户可以对其进行向右或向左滑动,这似乎会删除列表项,并且会在稍后的某个时间点导致应用程序崩溃。

如何禁用在 TListBoxItem 上向右或向左滑动的功能?我没有看到任何用于删除功能的滑动,并且我已经尝试捕获向右滑动的手势,但没有运气。如果我将 Selectable 设置为 false,我将无法再滑动它,但是上面的 Item 的绘画将被删除。

在运行时添加项目的代码:

procedure TMyForm.InfoButtonCLick(Sender: TObject)
var
 Item : TListBoxItem;
begin
  Item                  := TListBoxItem.Create(nil);
  Item.Text             := '';
  Item.Height           := 200; 
  Item.HitTest          := false;
  Item.Selectable       := false;

  // Other things I tried without success
  //    Item.Touch.InteractiveGestures := [];
  //    Item.DragMode         := TDragMode.dmManual;
  // tried to capture swite right and left and declare them as handled
  //    Item.OnGesture        := OnListItemGesture;    

  // lb_Files is the ListBox
  lb_Files.InsertObject(lb_Files.ItemIndex + 1, Item);
  lb_Files.ScrollToItem(Item);
end;
4

0 回答 0