procedure TPageListDialogFrame.ListView1ScrollViewChange(Sender: TObject); var allheight: real; begin with Sender as TListView do begin allheight := ScrollViewPos + GetItemRect(ItemCount - 1).Bottom - LocalRect.Height; //kbmMWLog.Log.Debug('ScrollViewPos='+FloatToStr(ScrollViewPos)+' allheight='+FloatToStr(allheight)); //升级到10.4.2,allheight有小数=2686.66666,ScrollViewPos=2686,造成不执行pg.nextpage,修改为截取小数后再比较. if (trunc(ScrollViewPos) >= Trunc(allheight)) then begin pq.NextPage; end; end; end;
上面是修正后的代码。
这两天遇到问题,用户反应Listview滑到最底部,不自动加载内容。于是内部测试发现,有的手机可以,有的不行。最后跟踪代码发现,在不行的手机上,输出的日志为:
ScrollViewPos=2686 allheight=2686.66668701172
于是按上面的代码修正,对这两个值取整,问题解决。