在Delphi中使用TListview时,如果在最后一个列表项下面单击,则所选项目变为nil(itemindex = -1)。
在Firemonkey中使用TListview时,如果单击最后一个列表项下方,则所选项目是列表中的最后一项。这不是我想要发生的事情。如果我点击最后一项下方,我想不要选择任何项目。
我不知所措。有没有办法做到这一点,或者我在这里错过了什么,还是我偏离了基地?
感谢。
答案 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/