无法在Android设备Delphi xe7上滚动列表视图

时间:2015-03-11 17:09:20

标签: android delphi delphi-xe7

无法在Android设备上滚动Delphi Xe7中的Listview。我的一些列表视图可以滚动,但不是全部。它们都适用于iOS。

这是我的问题ListView的代码

if AResult=true then
      begin
        AccessList.BeginUpdate;
          try
          XMLDocument.LoadFromXML(XMLData);
          XMLNode:=XMLDocument.DocumentElement.ChildNodes['Record'];
          while XMLNode<>nil do
          begin
            LItem:=AccessList.Items.Add;
            LItem.Text:=XMLNode.ChildNodes['NAME'].Text;
            LItem.Detail:=XMLNode.ChildNodes['US1_LOGIN'].Text;
            if LItem.Detail='' then
            begin
              LItem.Detail:='Mobile Access not setup';
              LItem.Objects.DetailObject.TextColor:=TAlphaColors.Crimson;
              LItem.Objects.DetailObject.Font.Size:=9.5;
            end;
            LItem.Tag:=StrToInt(XMLNode.ChildNodes['ID_Nr'].Text);
            if XMLNode.ChildNodes['US1_DELETED'].Text='0' then
              LItem.Objects.AccessoryObject.Visible:=true
            else
              LItem.Objects.AccessoryObject.Visible:=false;

            XMLNode:=XMLNode.NextSibling;
          end;
        finally
          AccessList.EndUpdate;
          toggleBusy(false);
        end;

      end;

更新 在搞乱并重新编译几次之后,我注意到了两件事:

1)这只发生在Listviews上,项目的样式设置为&#39; ImageListItemBottomDetail&#39;

2)此问题不一致...例如,我有一个带有两个选项卡的选项卡控件,每个选项卡中包含一个列表视图。相同的列表视图,除名称外。我第一次运行应用程序,既没有滚动,第二次我运行应用程序(刚关闭应用程序并重新启动,没有更改)第一个Listview滚动但不是第二个选项卡上的列表视图。再次启动应用程序,这次他们都不再工作了。

Delphi漏洞? 问题在iOS上不明显

1 个答案:

答案 0 :(得分:0)

不确定这能否解决您在Delphi XE-7中的确切问题 但就我而言,[delphi-xe10.2.3 Tokyo]花了我一段时间才使我忘记了[结束列表视图更新] ^^'   Form1.ListView1.EndUpdate; <-

        Form1.ListView1.BeginUpdate;
       try
         begin
           LVI:= Form1.ListView1.items.add;
           LVI.Text :=  sCH.Strings[1];    
         end;
        except
       end;
         Form1.ListView1.EndUpdate;  // this part is important scroll will not work without it .. in my case.