17 Temmuz 2014 Perşembe

Delphi mobile TListview item click sorunu

Merhabalar,

Kullananlar fark etmiştir ki,

Örneğin TListview'imizde 3 tane item var ve TListview de item olmayan bir kısma tıkladığımız zaman delphi bunu son iteme tıklanmış olarak kabul eder.

Yeri geldiğinde güzel bir özellik olabilir fakat SearchBox ile arama yaptıktan sonra boş bir alana tıklayarak SearchBox kapatılmak istendiğinde otomatik olarak son iteme tıklama işlemi gerçekleşmesi çoğu zaman bir yazılımcıyı deli etmektedir.

Bu olayı aşmak için "FMX.ListView.pas" uniti içerisinde FindItemAbsoluteAt proceduresini bulun 4060 satır olabilir tam emin değilim. Tabiki bu işlemi yapmadan önce .pas dosyanızın yedeğini alın ne olur ne olmas.

Bu 2 satırı :
if ViewAt >= HeightSums[HeightSums.Count - 1] then
 Exit(HeightSums.Count - 1);

Bu aşağıdaki şekilde değiştirin:
if ViewAt >= HeightSums[HeightSums.Count - 1]+GetItemHeight(HeightSums.Count-1) then
 Exit(-1);