Если обращаться к активному элементу в ListView по LongTap, то можно нарваться на Access Violation. Как этого добиться: Должен быть включен CanSwipeDelete. Делаем свайп, появляется кнопка Удалить. Теперь в любом месте делаем долгий тап на любом элементе и ловим AV. //на форме SpeedButton и ListView
procedure TForm1.ListView1Gesture(Sender: TObject;
const [Ref] EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
if (EventInfo.GestureID=igiLongTap)or(EventInfo.GestureID=igiDoubleTap) then
begin
SpeedButton1.Text:=TListViewItem(ListView1.Selected).Text;
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
Item: TListViewItem;
I:integer;
begin
ListViewPV.BeginUpdate;
for I := 1 to 100 do // заполняем
begin
Item := ListViewPV.Items.Add;
Item.ButtonText:= 'Button text';
Item.Text := 'Text '+IntToStr(I);
Item.Detail := 'Detail ';
Item.Accessory:=TAccessoryType.More;
end;
ListViewPV.EndUpdate;
end;
Приходится проверять что ListView1.Selected<>nil