【发布时间】:2018-02-15 18:05:29
【问题描述】:
Delphi 10.2.2 移动版
从一个空白的移动项目开始,我在表单上放置了一个 TListBox。我添加了两个 TListBoxItems。
procedure TForm1.ListBox1Click(Sender: TObject);
begin
ShowMessage('ListBoxItem.itemindex = ' + ListBox1.ItemIndex.ToString);
end;
当我在 Windows 和 Macintosh 中单击第一个项目时,OnClick() 正确报告已单击项目索引 0。
当我单击移动设备(iOS 和 Android)中的第一个项目时,OnClick() 将项目索引报告为 -1(而不是应有的 0)。然后它继续突出显示第一项。
如果我随后单击移动设备中的第二个项目,则 OnClick() 将项目索引报告为 0(而不是应有的 1)。然后它继续突出显示第二项。
在移动设备上单击 TListBox 时如何在 OnClick() 中获取正确的项目?
【问题讨论】:
-
这闻起来像是应该向 Emba 报告的错误。
-
尽管有错误:使用 OnItemClick 有问题吗?
-
只需使用 OnChange 事件,它会传递选择/单击的项目,并在 ItemIndex 更新后调用。
-
OnItemClick 存在问题,即使在列表已清空并替换为新选择后,它仍会突出显示项目。
标签: delphi firemonkey tlistbox