Firemonkey TListview行为

时间:2014-11-19 14:23:02

标签: listview firemonkey

在Delphi中使用TListview时,如果在最后一个列表项下面单击,则所选项目变为nil(itemindex = -1)。

在Firemonkey中使用TListview时,如果单击最后一个列表项下方,则所选项目是列表中的最后一项。这不是我想要发生的事情。如果我点击最后一项下方,我想不要选择任何项目。

我不知所措。有没有办法做到这一点,或者我在这里错过了什么,还是我偏离了基地?

感谢。

1 个答案:

答案 0 :(得分:0)

问题出在FindItemAbsoluteAt过程的第4060行的FMX.ListView.pas单元。

此代码:

if ViewAt >= HeightSums[HeightSums.Count - 1] then
Exit(HeightSums.Count - 1);

替换为此代码:

if ViewAt >= HeightSums[HeightSums.Count - 1]+GetItemHeight(HeightSums.Count-1) then
Exit(-1);

系统将开始逻辑运行。

来源:https://pjstrnad.com/another-fix-delphi-code-click-listview/