Предотвратите «смахивание» элемента TListBox - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть приложение Delphi Berlin для Android, которое содержит TListBox.В какой-то момент я вручную добавляю TListItem (код ниже).К сожалению, пользователь может сделать на нем правое или левое пролистывание, которое, по-видимому, удаляет элемент списка и делает что-то, что приводит к сбою приложения на более позднем этапе.

Как отключить возможность пролистывания вправо или влево наTListBoxItem?Я не видел никакого Swipe, чтобы удалить вид функциональности, и я уже пытался захватить жест смахивания вправо без удачи.Если я установил для параметра Selectable значение false, я больше не смогу провести его, но тогда рисунок вышеназванного элемента будет удален.

Код для добавления элемента во время выполнения:

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;
...